• Content count

  • Joined

  • Last visited

Community Reputation

115 Neutral

About Drop

  • Rank
  1. [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 ([url="http://www.braynzarsoft.net/index.php?p=D3D11Instancing"]http://www.braynzars...D3D11Instancing[/url]). 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!