Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 25 Feb 2010
Offline Last Active Jan 20 2013 02:45 AM

Topics I've Started

Returning points instead of triangles from the tessellation stage

09 December 2012 - 07:51 PM

Again may be a rookie question, and I think I ve read about this somewhere in a book on Direct3D 11, but I just wanted to confirm.

Is it possible to stream out pointlist instead of triangle lists from the Tesselation stages (Hull and Domain Shaders) from a four control point list? And I dnt know if this is a valid question either or whether I should be asking it here, but how does OpenGL fare in this regard? I have heard from a friend that something like this is possible in OpenGL, so if it is, does the hardware support it? Is this a Direct3D limitation (for performance reasons or something)?

Thanks in advance.

Disappearing Data in Structured Buffers

08 December 2012 - 05:25 PM

Hi I am new here so I dont know if this is a common n00b problem.
So I am creating my structured buffer like this

[source lang="cpp"]HRESULT CRenderer::CreateStructuredBuffer ( unsigned int arg_dElementCount, unsigned int arg_dElementSize, void * arg_pData ){ HRESULT status = S_OK; D3D11_BUFFER_DESC objBufferDesc; D3D11_SUBRESOURCE_DATA objInitData; D3D11_SHADER_RESOURCE_VIEW_DESC objResViewDesc; ZeroMemory(&objBufferDesc, sizeof(objBufferDesc)); ZeroMemory(&objInitData, sizeof(objInitData)); ZeroMemory(&objResViewDesc, sizeof(objResViewDesc)); objBufferDesc.ByteWidth = arg_dElementCount * arg_dElementSize; objBufferDesc.StructureByteStride = arg_dElementSize; objBufferDesc.MiscFlags = D3D11_RESOURCE_MISC_BUFFER_STRUCTURED; objBufferDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE; objBufferDesc.Usage = D3D11_USAGE_DEFAULT; objBufferDesc.CPUAccessFlags = 0; objInitData.pSysMem = arg_pData; this->m_dxStructuredBufferArray.push_back ( NULL ); status = this->m_dxDevice->CreateBuffer ( &objBufferDesc, &objInitData, &(this->m_dxStructuredBufferArray[this->m_dNumOfStructuredBuffers++]) ); if (FAILED(status)) { return status; } objResViewDesc.Format = DXGI_FORMAT_UNKNOWN; objResViewDesc.ViewDimension = D3D11_SRV_DIMENSION_BUFFER; objResViewDesc.Buffer.ElementOffset = 0; objResViewDesc.Buffer.ElementWidth = arg_dElementSize; objResViewDesc.Buffer.FirstElement = 0; objResViewDesc.Buffer.NumElements = arg_dElementCount; this->m_dxResourceViews.push_back ( NULL ); status = this->m_dxDevice->CreateShaderResourceView ( this->m_dxStructuredBufferArray[this->m_dNumOfStructuredBuffers-1], &objResViewDesc, &(this->m_dxResourceViews[this->m_dNumOfStructuredBuffers-1]) ); if (FAILED(status)) { return status; } return status;}[/source]

And I am calling it like this

[source lang="cpp"] status = objRenderer.CreateStructuredBuffer ( objWorldReader.GetInstanceCount ( ), sizeof(SInstance), objWorldReader.GetInstances ( ) ); if ( FAILED(status) ) return 1;[/source]

But it seems when I view the buffer in PIX in a simple passthrough Shader, I just see zeros. Now I know the structure may need to be 16 byte aligned since I encountered a similar problem before, so I have declared my structure like this.

[source lang="cpp"]struct SInstance{ __declspec(align(16)) XMMATRIX matLocation; int dTemplateType;};[/source]
But now I really dont know what's going on and I am really out of my depth. Please Help!!!!

Getting new input devices in games

25 February 2010 - 03:52 AM

Hi, This might be a weird and stupid question but it has me stumped for a while. I have made this new input device which I can use in many of applications (The ones I have written) cuz it uses a simple serial port. I would like to get this device to be used as my main input devices in the games that I play. How do I get about this? Do I need to learn to write device drivers? If so, where do I start, I downloaded the WDK (Windows Driver development Kit) and been reading up on it but it sounds like French to me. They talk about a lot of models and stuff which I do understand but it does nt tell me where to start writing code for it and plugging in my already written code. Please Help, Safi