Finally, a DirectX 10 video driver for Irrlicht

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

all but occlusion queries and some particles exemples
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

put my finger on the issue for good FP rtt

if you change the texture format to 16 bit floating point in the rtt example it crash

EDIT at this point it works fine within the visual studio environement but return corruption in stand alone mode

Code: Select all

 
        Context->OMSetRenderTargets(1, &CurrentBackBuffer, CurrentDepthBuffer);
the bug happen some where down in there
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

I'll download from the endo... site and start testing this w.end with some dx10/11 samples n shaders.
zerochen
Posts: 273
Joined: Wed Jan 07, 2009 1:17 am
Location: Germany

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by zerochen »

hi,

i dont have much time now so i cant finished instancing for dx11.
here is the patch:
instancing.patch

i integrate instancing to the core engine so it can be used easier.
for example:

Code: Select all

 
scene::IMesh* mesh = smgr->getGeometryCreator()->createSphereMesh(0.5f);
scene::IInstancedMeshSceneNode* inode = smgr->addInstancedMeshSceneNode(mesh);
 
//add one instance
inode->addInstance(core::vector3df(0.f,0.f,0.f));
mesh->drop();
 
//baseMesh changing is also possible
mesh = node->getSceneManager()->getGeometryCreator()->createCubeMesh(core::vector3df(1.f));
inode->setMesh(mesh);
mesh->drop();
 
later in dx11 the plan was to add instancing support to all fixed function materials.

changes:
+ add instancing for dx9 (dx11 is still broken)
+ add example for instancing
+ add more basic isCulled method to the scenemanager

the new culling method is used for the CInstancedMeshSceneNode.
it can also be used for the CTerrainSceneNode (should speed it up)

regards
zerochen
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

I´ve just been stepping throught the CD39Texture.cpp and see that hardware mipmaps is not supported as the query command for automipmapupdate is set to return false.

Did I miss something??

I mean hardware mipmaps that´s pretty important for real-time animations.
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

I have been banging my head against this for the last 3 days when you enable hardware mipmaps the dx9 driver disintegrate its self.
Anyway if you can find a way to enable hardware mipmap and keep the dx9 driver from dying that would enable volume texture and cube map because i have them implemented but they require hardware mipmap.

and the dx9 driver is filled with oddities of that kind.

Stuff disabled at random, using the caps viewer that is meant as a description of the fixed pipeline capacities to limit the programmable pipeline, random driver reset etc etc etc


EDIT I think I fixed it the driver was trying to know if it could auto gen mipmap then create a texture without the auto-gen flag and then asking dx to generate the mipmap on these no wonder it was not working

Hardware mipmap are working and volume texture for dx9 to how ever volume texture do not implement mipmap support on my driver and unless some one wanna implement a custom mipmap creation fuction for volume textue it's gonna be driver dependant


dx11 already support texture array ill make it uniform with the current interphase I have and release a patch that include texture array for OGL (from Hendu), dx11 and emulation on dx9
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

I have enabled hardware mipmaps in the D3D9 driver and it works fine.

I just had to comment-in the line at the start of CD3D9Driver::queryFeature() so it returned a valid mip_map_auto_update status,
then in CD3D9Texture make sure _IRR_USE_D3DXFilterTexture was defined and that was it.

It no longer calls copy32BitMipMap or the 16bit version, so that horribly slow byte copy routine can be ditched!

I guess the automipmap for render targets will probably also work fine too.

I´m sorta surprised/confused why this was left in the driver for so long.
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

I did the same thing yesterday and it enabeled volume texture mipmaping

Also if you look closely there is some mess up in the mipmap generation code that need to be cleaned for hardware mipmap to work properly


I also tested it in my main project volume texture instead of custom baked texture atlass return double framerate
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

Not surprised the framerate doubled. Mipmaps are now generated in video memory by the gpu as they should be!
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

I think I fixed both dx9 and dx11 instancing but I don't know

Also this patch include texture array for dx11 OGL and volume texture for dx9

the only issue is that I have no idea how to write a shader to take advantage of instancing and texture array for dx11

https://www.dropbox.com/s/6ay80a6ooascw ... rray.patch
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

Have you seen http://www.rastertek.com/dx11tut37.html

Gives a good example of instancing.

As to texture arrays, again on the same site there are examples.

what about cube maps?
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

Ya that site has been my guide for a while

Cube maps are enabeled on dx9 but don't seem to work
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

Yep its a really good site!

I could take a look at the cube maps on DX9 and see if I can find the problem.

How´s the best way to get the driver download?
Granyte
Posts: 850
Joined: Tue Jan 25, 2011 11:07 pm
Contact:

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by Granyte »

You download the fvf branch and apply the patch on the link using you svn software
robmar
Posts: 1125
Joined: Sun Aug 14, 2011 11:30 pm

Re: Finally, a DirectX 10 video driver for Irrlicht

Post by robmar »

Can you pass me the link?

I´m looking to update the shaders for irrlicht, do you know which file the standard reflection and transparency shaders are in, I can´t seem to find them!
Post Reply