xboxscene.org forums

Pages: 1 [2] 3 4

Author Topic: Xenkit  (Read 256 times)

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #15 on: September 11, 2007, 11:04:00 AM »

I've updated Tser's rshadercompiler archive (link in first post of thread).
I've put inside the shader sources used in the coming 3D demo :

- basic_ps.hlsl & basic_vs.hlsl
They allow to render the non-textured triangle in the middle of screen
- texture_ps.hlsl & texture_vs.hlsl
They render textured triangles (for distorted tubes).

Actually, the simplest shaders you can do (non textured, and textured version).

If you know a bit pbKit, it's the same kind of shaders used in :
- Demo 03 (pixel shader does a 2D texture mapping operation)
- Demo 04 (same as above, plus multiplication of matrix in vertex shader, plus lighting)
pbKit thread :
http://forums.xbox-scene.com/index.php?sho...573524&st=0

I've set the Project to compile the 4 files if you run it under xn/a environment.

The result are .psu & .vsu files, native microcode for Xenos GPU chipset.

Still no ETA for the 3D Demo. Keep faith (just need to finish the fw reading).

EDIT: I've updated shaders files names to match a new intermediate version I've just received. Now constants generated by shader compiler are correctly parsed and uploaded into GPU. That's extremely usefuly when compiler optimizes madly and you don't want to manually change a constant setting in code after each little change made in the shader source.

This post has been edited by openxdkman: Sep 18 2007, 11:22 AM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #16 on: September 14, 2007, 05:40:00 AM »

Updated first post. xenKit is now officially divided into 3 parts :
Part 1 allows full screen rendering (*) and doesn't require X11 or any desktop
Part 2 allows windowed mode and will help you greatly if you have X11
Part 3 is required if you want to compile your own modified shaders

(You HAVE to use Part 1 + Part 2 under Gentoo LiveCD Beta 2, because
 of screen flickering issue : desktop and Xenos drawing into same surface.
 Also Part 1 has no way to quit, so you will have to reboot after you are
 finished watching the demo. Part 2 can detect key strokes with X11 events
 detection and exit nicely)

* : 1024x720 (if you have 1280x720, it will be displayed on left part of screen)
I ran into troubles when attempting the resolve with a width > 1024 pixels.

This post has been edited by openxdkman: Sep 18 2007, 11:24 AM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #17 on: September 15, 2007, 11:28:00 PM »

Part 2 done, but pretty useless without part 1.

I'm working hard, atm, on porting pbKit Demo 04 to 360 (gouraud, 1 light).
(pbKit mesh.c, reading textured mesh from .3ds+.bmp file, may be in part 1).

Still no ETA for the legal GPU initialization of part 1, but work is in progress...

(It's very hard to stop playing Blue Dragon... But I'll resist until port is done)

This post has been edited by openxdkman: Sep 16 2007, 06:38 AM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #18 on: September 16, 2007, 12:39:00 PM »

Success!!!
(just need to add lighting, shouldn't be hard with Tser's wonderful rshadercompiler...)

(IMG:http://minilgos.perso.sfr.fr/x_biplan.jpg)

Temporary performance estimation :

Gouraud, 1 light

PS2 : 250.000 vertex/frame at 60fps (vertex batch=3 vertex par face)
XB1 : 330.000 vertex/frame
360 : 3.100.000 vertex/frame (that's 62 Millions faces -triangles- per second)
PS3 : not yet measured (need a virtual gpu or improved rsx access hack)

No lighting

360 : 3.900.000 vertex/frame at 60fps (using Gentoo LiveCD Beta 2, uncached)
(that's 78 Millions faces -triangles- per second)

Minimum 10 times faster than XB1... Sweet!


What is a vertex? :

In short, 3 vertex = 1 face -triangle or polygon with 3 corners-, but if your meshes are well optimized that can go down to around 1 vertex = 1 face (strips, i.e chains of contiguous triangles).

1 vertex is usually a group of floats, for example : (px,py,pz,nx,ny,nz,tu,tv)
p:polygon corner coordinates
n:normal to the face, from this corner (used for gouraud or phong lighting calculation)
t:associated mapping point coordinates in the mapped texture


Demo author says in the readme file that if uncached is replaced with write combined memory access speed gain can be enormous (10x-100x) for commands. Since I've tested with Biplane mesh (30000 faces, thus 90000 vertices), it's possible the largest part of frame time is used by GPU for direct dma accesses (and thus no possible speed gain there, but I may be wrong).


Many thanks to "Xenos 3D Library demo" author for letting me play with it before its release!!!
(I bet he will sign his readme file. So you will know who is its author at release time).

Keep faith, it should be released soon (but no ETA, decyphering fw automatically is tricky, so be patient), either in this thread, or on author's favorite site (in which case I will just post the link to there).

This post has been edited by openxdkman: Mar 28 2009, 11:09 PM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #19 on: September 18, 2007, 10:29:00 AM »

Great News!

Tmbinc (Yeah, it's him again), allowed me to publish 99% of his 3D demo source for 360 !
(mixed with Demo 04 port, i.e the function that extracts data from .3ds & .bmp files)

The remaining 1% is the GPU initialization code that still needs to be read from fw.
So it won't compile yet, but you can start learning from the source.

Many thanks, tmbinc! You rock! (You can read the readme file, where he explains all)

(Link to preview archive updated in first post of this thread)

This post has been edited by openxdkman: Sep 23 2007, 08:15 AM
Logged

Cedric2911

  • Archived User
  • Newbie
  • *
  • Posts: 2
Xenkit
« Reply #20 on: September 18, 2007, 11:16:00 AM »

smile.gif great news smile.gif and great job !!
amazing work !
eta for openxdk360 ?^^ lol
that will be a nice day smile.gif
Logged

Cpas

  • Archived User
  • Newbie
  • *
  • Posts: 40
Xenkit
« Reply #21 on: September 18, 2007, 02:26:00 PM »

Hehe, viva tmbinc smile.gif
Logged

TheLegace

  • Archived User
  • Newbie
  • *
  • Posts: 16
Xenkit
« Reply #22 on: September 21, 2007, 04:49:00 AM »

openxdkman, you are awesome fellow, and really great for the scene, just no one knows it yet, and trust me they will.


And trust me, there will be a homebrew solution coming in months... I know  wink.gif . I know my opinion is useless, but I guess your gonna have to trust me......
Logged

Cedric2911

  • Archived User
  • Newbie
  • *
  • Posts: 2
Xenkit
« Reply #23 on: September 22, 2007, 04:19:00 PM »

anynews ?
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #24 on: September 23, 2007, 01:03:00 AM »

On tmbinc side, no final release yet. He had to take a look to the changes brought by the tiny lastest firmware update. He noticed comparisons in HV are being turned into instructions that take exactly the same time if comparison fails or succeeds....
Definitely a response to the time attack hack...
(not necessarily blocking time attack done at boot time, but will prevent time attack at HV level)

On my side, I won't be able to add lighting until next week, I have too much work to handle with my current job. I should have free time again next weekend.

So becarefull with the lastest tiny firmware update... If you can, stick to 5766 or below.
However, once you got your CPU keys, ivc reports that upgrade to it, then downgrade from it, is still possible (blows up one additional efuse, as usual).


This post has been edited by openxdkman: Sep 23 2007, 08:17 AM
Logged

LIVE Prophet

  • Archived User
  • Sr. Member
  • *
  • Posts: 383
Xenkit
« Reply #25 on: September 23, 2007, 07:55:00 AM »

Awesome guys, I had been absent for a while from homebrew and Im still taking in all this, especially with the now downgradeable kernel!
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #26 on: September 23, 2007, 08:13:00 AM »

There are reports that Halo 3 discs will have only firmware 5766 update on them.

That means that if you are strong enough to resist the envy to connect to Live (I know... will be hard), your firmware will still be ok for time attack and upgrade-downgrade infectus trick.

Let the people from xbh study firmware updates and give their opinion before accepting them.

This post has been edited by openxdkman: Sep 23 2007, 03:14 PM
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #27 on: September 25, 2007, 03:30:00 PM »

Automatic fw reading (for legal GPU initialization) is 90% done
The waiting is paying off... Shouldn't be long now.

Also another gift may come along... a way to use a bluetooth dongle directly plugged into 360 usb port, in order to support... wiimote...

Logged

_zlinky

  • Archived User
  • Jr. Member
  • *
  • Posts: 56
Xenkit
« Reply #28 on: September 26, 2007, 09:58:00 AM »

Hey openxdkman!  Great work, thanks alot!

I was wondering if you plan on writing a tech doc on xenos like you did nv2a?  Thanks.
Logged

openxdkman

  • Archived User
  • Hero Member
  • *
  • Posts: 550
Xenkit
« Reply #29 on: September 26, 2007, 11:33:00 PM »

Don't forget it's tmbinc's work, not mine (porting Demo 04 was not hard nor long, so ignore it).
I'm just encouraging him (and harassing him) so it becomes usable by all as soon as possible.
All credits must go to tmbinc and Tser.

What do you call a "tech doc"? The description of a "push buffer"? Well, maybe, much later. I don't pretend I understand what is written in tmbinc's 3D demo... yet.

This post has been edited by openxdkman: Sep 27 2007, 06:36 AM
Logged
Pages: 1 [2] 3 4