Page 2 of 51

Posted: Fri May 21, 2010 12:23 pm
by evandromillian
Well, so many answers:

- to hybrid, I really want this project to be integrated with the core of Irrlicht. The only problem is that Google Code don't support zlib licence . :?
But I can change to other repository as soon as possible, no problem with this.

- to 3DModelerMan, yes, we can have geometry shader. But compute shaders only when we finish DX 11 driver. I see some documents from DICE that they port their engine from DX 10 to DX 11 in only 3 hours :shock: . So, no doubt, when finish DX 10, in 3 hours DX 11 will be ready :lol: :lol: (sorry for the kiding)

- to slavik262, thanks once more, I understood perfectly your comments.

Thanks

Posted: Fri May 21, 2010 1:30 pm
by hybrid
You could join irrExt and develop the driver there via the SourceForge infrastructure. I guess some discussion about pros and cons of the currently available implementations of DX10/DX11 drivers, and those currently being developed, could help to avoid duplicated work.

Posted: Fri May 21, 2010 1:43 pm
by evandromillian
Sure hybrid, I will be very happy. Can you help me in the process to join irrExt?

Posted: Fri May 21, 2010 8:53 pm
by hybrid
You simply have to send out a mail with your SF name to bitplane or me. We can add you to the team and you get immediate access to the repository. I guess you have to think about a proper place for such a driver in the directory layout, but that's something which can be easily solved :D

Posted: Fri May 21, 2010 9:02 pm
by evandromillian
Hi for all.

I have good news. I solve partialy the problem of texture loading. The bad news is that I have to check all texture formats when loading data. See example of cube with stones.jpg texture from media dir:

Image

The colors are changed, due to data formats of DX 10. Is better, but there's more work to do.

Back to the drawing board. :lol:

Posted: Sun May 23, 2010 9:15 am
by sio2
Congratulations. Well done! A good starting point.

I've been working on a DX11 driver for Spintz's 3Demon port of Irrlicht. I haven't had a whole lot of time to work on it but you can see an initial demo here: http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=36732

One of the changes from DX9 to DX10/DX11 is colour swizzle. As you've found out some texture formats have been removed and channels are in a different order. Check out your vertex colours as well.

The DX Effect system has moved from an integral part of the SDK to being something you need to compile yourself, as you probably already know. I don't know about the current SDK but in the previous SDK I used I had to debug and fix the Effect code Microsoft shipped with the SDK as it wouldn't allow me to create shaders for DX10. I assume you've fixed that or it is not an issue.

I've also implemented a flexible buffer system for creation of buffers for vertices, indices, compute shaders and hardware instancing (stream support). My compute shader interface is a platform-independant interface from the Irrlicht device; it could support OpenCL from the GL driver for example, though matbe an OpenCL interface would allow for more efficient internals.

Flexible buffer formats is tricky - things like the MeshManipulator need to be rewritten to cope. The best way would probably be to give the manipulator a buffer and an output buffer declaration and have it work out what it can copy over from the input buffer and what it needs to generate (tangents, for example). With changes to Irrlicht internals to support streams you can do hardware instancing easier and more efficiently.

Anyway, when I get chance I'll look at porting my DX11 raytracer demo over as a test.

Posted: Tue May 25, 2010 7:40 pm
by roelor
Cant wait 'till this is finished, I wish you the best of luck completing this..

Posted: Tue May 25, 2010 9:18 pm
by evandromillian
Hello for all.

Hey sio2, you was right, the problem was in color swizzle in pixel shader. Applying the correct swizzle, and everything is working as expected, see below:

Image

Now, I will work in dynamic geometry and 2D. I will try to use Direct2D for 2D drawing (will be so fast), but may this will increase memory usage. I will put this in a macro (using Direct2D OR dynamic vertex buffers), and make available for tests.

Posted: Tue May 25, 2010 9:35 pm
by roelor
I think memory useage isnt a big problem nowadays, *atleast on PCs)

Posted: Tue May 25, 2010 11:37 pm
by BlindSide
Nice work evandromillian, are you doing this for fun or as an academic project?

Posted: Wed May 26, 2010 12:11 pm
by evandromillian
No BlindSide, this is only for fun. I'm using my spare time to evolve the project.

But, I hope to finish as soon as possible, I'm curious to see what funcionalities we can create with this new driver. And I have other projects too :).

Posted: Tue Jun 01, 2010 11:26 am
by roelor
Any progress? :)

Posted: Fri Jun 11, 2010 5:27 pm
by evandromillian
Hi people.

Sorry for ausence, but I'm very busy on my job :D.

I would ask something: my only reason to continue developing DX10 first (instead of go only DX11) was that Cg didn't support DX 11.

Well, NVidia listened to us and Cg 3.0 Beta supports DX11. What to do: continue DX 10 or port to DX 11 and go on?

I would like to hear opinions.

Posted: Sat Jun 12, 2010 6:12 am
by slavik262
I think that even if Cg now supports DX11, I'd still do DX10 first. Since you already have a lot done for DX10, I'd finish it up. Besides, isn't DX11 very similar to DX10 (in that it doesn't have a fixed function pipe), meaning that once you finished the DX10 renderer you could (relatively) quickly turn it into a DX11 renderer?

Posted: Sat Jun 12, 2010 1:10 pm
by 3DModelerMan
If you did the DX10 driver first, it would probably be easier to port the rest to DX11, instead of porting DX11 back to DX10.