[D3D11][C++][HLSL]
Hi! I`m new in DirectX 11. Need some help on implementation of GUI renderer.
I`m trying to make efficient GUI renderer that draws instanced canvases. Controls draws on canvases. Each canvas consists of 9 quads (rectangles). Each quad has to be arbitrary size, have arbitrary position, color and texture (if textured).
First attempt: carried away by idea of instancing.
-in vertex shader instance quad nine times, each different size, position color and texture (so canvas came out of it, for ex. window or button ).
-then instance that canvas several times, each different scale and position.
I saw implementation of double instancing of leaves on an instanced trees in "Instancing10" SDK demo and Braynzar`s tutorial (http://www.braynzars...D3D11Instancing). But there was no scaling applyed to leaves. And here`s the problem. Also I tryed to learn sources from MyGUI and CEGUI, but its to complex and hard to understand for me for now.
Questions:
1. Is this possible to translate and scale instanced quads in vertex shader before translating and scaling canvas? How?
2. Is this optimal implementation? Its just an UI over a game itself, so it must be as lightweight as possible (each type of control can be instanced tens or even hundreds of times)
3. Is there better implementation? ( Vertex buffers?)
Feel free to post. I wiil be appreciated for any ideas, books, links and even chunks of code (C++, HLSL or a pseudocode).
Thanks in advance!
GUI renderer implementation. Double instancing. 9 Quads.
I think you're over engineering it.
In what situation do you expect a single control to be needed over 100 times on screen at once? You must have a very large monitor.
Sure, you can instance your controls, but frankly just writing to a vertex buffer and -maybe- indexing that should be enough for you.
In what situation do you expect a single control to be needed over 100 times on screen at once? You must have a very large monitor.
Sure, you can instance your controls, but frankly just writing to a vertex buffer and -maybe- indexing that should be enough for you.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement