• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

103 Neutral

About BearInATie

  • Rank
  1. That' didn't seem to be it :( I have a separate Font and Texture classes that are called, each updates calls VSSetConstantBuffers and then draws :(
  2. Hey Everyone! (Long time lurker, first time posting :D )   So I've been programming in C++ for awhile, and recently decided to dive deeper into graphics, beginning with DirectX 11.  I've gotten pretty far, and have written some shaders and the like. (Nothing too fancy, but something I can be proud of for the moment)   However, I've run into a snag, I'm trying to render a grid of 2D rectangles with text on top. Both work, independently, but when combining I'm a little stuck.    I've narrowed it down to the actual setting of the buffers; the grid has-a text object, and the text is rendered after the grid square is drawn. Draw the grid square first and its fine, draw it with the text and its 1/10th the size (like so: http://imgur.com/G1NyGf6)   I'm fairly certain this is because of the grid's buffer data being overwritten by the text data. So my questions are (after the long-winded wind up):   1- Am I right in assuming the grid's buffer data is being overwritten with the text's? (the deviceContext used in both code snippets refers to the SAME deviceContext object)   2- Is there some elegant way to combine these different buffers? (see the code below)   Thanks!   The text code bit: bool Text::RenderSentence(ID3D11DeviceContext* deviceContext, int sentenceIndex, D3DXMATRIX worldMatrix,        D3DXMATRIX orthoMatrix){ unsigned int stride, offset; D3DXVECTOR4 pixelColor; bool result; stride = sizeof(VertexType);  offset = 0; deviceContext->IASetVertexBuffers(0, 1, &m_sentences[sentenceIndex]->vertexBuffer, &stride, &offset); deviceContext->IASetIndexBuffer(m_sentences[sentenceIndex]->indexBuffer, DXGI_FORMAT_R32_UINT, 0); deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); pixelColor = D3DXVECTOR4(m_sentences[sentenceIndex]->red, m_sentences[sentenceIndex]->green, m_sentences[sentenceIndex]->blue, 1.0f); result = m_FontShader->Render(deviceContext, m_sentences[sentenceIndex]->indexCount, worldMatrix, m_baseViewMatrix, orthoMatrix, m_Font->GetTexture(),       pixelColor); if(!result){ return false; } return true; } And the Grid Square: void GridSquare::RenderBuffers(ID3D11DeviceContext* deviceContext){ unsigned int stride = sizeof(VertexType); unsigned int offset = 0; //set vertex buffer to active in IA for rendering deviceContext->IASetVertexBuffers(0, 1, &m_vertexBuffer, &stride, &offset); //set index buffer to active in IA for rendering deviceContext->IASetIndexBuffer(m_indexBuffer, DXGI_FORMAT_R32_UINT, 0); //set primitive to be used deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); }  
  • Advertisement