Sign in to follow this  

About the interfaces in D3D11.

This topic is 2634 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've noticed that there is a FFT interface in D3D11.

So what's it for considering d3d11 already has the compute shader which can implement fft on the gpu??

Also, in d3d9 there is the PRTEngine interface.

Has that been deprecated in D3D11??
So we have to write our own PRT code??

Share this post


Link to post
Share on other sites
The D3DX FFT class is a convenience object, functionality of which is implemented on top of compute shaders. It just saves time to use it for FFT instead of using the device interface directly, as you don't have to initialize and manage the shader and buffer objects yourself.

There is no PRT engine included in the SDK for D3D11. However, you could still use the D3D9 version in your toolchain to process your meshes before you load them via D3D11. In practice, the PRT calculation is often very time consuming so it is beneficial to do it as an offline process anyway.

Share this post


Link to post
Share on other sites
Wow so it's very cool..

I'm trying to use FFT to generate ocean height..And I think that's exactly what I need.

I've another question..
How to use the effect system in DX11??

I know it's in a folder but what should I do to use them?

I'm new at DX11...

Share this post


Link to post
Share on other sites
To use the Effects11 framework, you must build it first. As a result, you get a library named "Effects11.lib" which you can then link to your project in which you want to use the framework. After that, you generally use it like the older versions; however, there are some differences due to the new D3D core so I recommend reading the docs carefully even if you were experienced in the older versions.

The Effects11 library documentation is in the DirectX Graphics help package.

Share this post


Link to post
Share on other sites
Yes, link to Effects11.lib and include the three headers to get the interfaces.

Like I said, there are some practical differences between Effects11 and the previous versions, because the core API has changed in some important respects.

If you have used the Effects framework's earlier versions, it is best to read this to proceed.

Conceptually, the usage of the Effects11 library is extremely similar to using the earlier versions; you initialize the effect against a device (+ its context), get the parameter objects, set the parameters, apply the effect's techniques and draw your stuff.

It is worth noting that you can directly include the Effects11 source files to your own project so you don't have to compile the library separately. This has pros and cons:
+ Whole program optimization works across your own sources and those of the library, so as to give a potential performance boost.
+ If something goes wrong, you can break directly to the effects source from within the same debugger instance that you use with your main app; this can greatly aid debugging.
- You need to include the source files to your own project tree, which, depending on the complexity of your own project, can be bad in terms of maintainance; in contrast, a lib linkage represents a clean divide between the modules.

Share this post


Link to post
Share on other sites

This topic is 2634 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this