Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Drath

Need help on access violation error

This topic is 5762 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 am getting an access violation in D3D8.dll: Loaded ''C:\WINDOWS\SYSTEM\WINMM.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\D3DXOF.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\NTDLL.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\DDRAW.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\VERSION.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\ADVAPI32.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\GDI32.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\KERNEL32.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\USER32.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\D3D8.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\HOOK98.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\MSVCRT.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\GAMEUTIL.DLL'', no matching symbolic information found. Loaded ''C:\WINDOWS\SYSTEM\d3dref8.dll'', no matching symbolic information found. D3DX: (INFO) Using 3DNow Instructions First-chance exception in VertexShader.exe (D3D8.DLL): 0xC0000005: Access Violation. The program ''C:\Program Files\Microsoft Visual Studio\MyProjects\View\Debug\VertexShader.exe'' has exited with code 0 (0x0). on this line of code: pd3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, 0, sector[sec].polygon[poly].numverticies-2 ) as well as any other DrawPrimitves. How can I fix this? Thanks...

Share this post


Link to post
Share on other sites
Advertisement
I would assume so.
These commands work fine:
pd3dDevice->SetStreamSource( 0, sector[sec].polygon[poly].vertbuf, sizeof(LEVELVERTEX) );
m_pd3dDevice->CreateVertexBuffer
m_pd3dDevice->SetTransform( D3DTS_VIEW, &m_matView );
and others.

This is unless there is something else when it comes to DrawPimitive calls.

Share this post


Link to post
Share on other sites
HRESULT CLevelInfo::Render(LPDIRECT3DDEVICE8 pd3dDevice, CShader* Shader, D3DXVECTOR3 eye)
{
.
.
.
pd3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, 0, sector[sec].polygon[poly].numverticies-2 )
}

m_pLevelInfo->Render( m_pd3dDevice, m_pShader, g_vEye );

Share this post


Link to post
Share on other sites
Could you please post your entire render code? Have you verified that your numVertices value is correct?

Share this post


Link to post
Share on other sites

  
HRESULT CMyD3DApplication::Render()
{
// Clear the backbuffer

m_pd3dDevice->Clear( 0L, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,
//0x000000ff, 1.0f, 0L );

0x00334C66, 1.0f, 0L );

// Begin the scene

if( SUCCEEDED( m_pd3dDevice->BeginScene() ) )
{
m_pShader->pPixelProgramContainer->SetShaderActive();
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex0_iter, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex0_iter, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex0_iter, D3DTSS_MINFILTER, D3DTEXF_LINEAR);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex0_iter, D3DTSS_MAGFILTER, D3DTEXF_LINEAR);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex0_iter, D3DTSS_MIPFILTER, D3DTEXF_LINEAR);
// m_pShader->pPixelProgramContainer->SetTextureWrapMode(pixel1_tex0_iter, 0);


m_pShader->pPixelProgramContainer->SetTexture(m_pShader->pixel1_normalmap_iter, m_CubeMap);

m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex1_iter, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex1_iter, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex1_iter, D3DTSS_MINFILTER, D3DTEXF_LINEAR);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex1_iter, D3DTSS_MAGFILTER, D3DTEXF_LINEAR);
m_pShader->pPixelProgramContainer->SetTextureStageState(m_pShader->pixel1_tex1_iter, D3DTSS_MIPFILTER, D3DTEXF_LINEAR);
// pPixelProgramContainer->SetTexture(pixel1_tex1_iter, m_pNvidiaTexture2);


m_pShader->pPixelProgramContainer->SetShaderConstant(m_pShader->pixel1_ambient_iter, &m_Ambient);

m_pShader->pVertexProgramContainer->SetShaderActive();
m_pLevelInfo->Render( m_pd3dDevice, m_pShader, g_vEye );

/*
m_pd3dDevice->SetStreamSource( 0, m_pVB, sizeof(DisplayVertex) );
m_pd3dDevice->SetIndices( m_pIB, 0 );
m_pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, m_dwNumVertices,
0, m_dwNumIndices/3 );
*/

RenderText( m_pd3dDevice );



// End the scene.

m_pd3dDevice->EndScene();
}

return S_OK;
}



  
HRESULT CLevelInfo::Render(LPDIRECT3DDEVICE8 pd3dDevice, CShader* Shader, D3DXVECTOR3 eye)
{
HRESULT hr;
for(int sec = 0; sec < numSectors; sec ++)
{
Shader->pPixelProgramContainer->SetTexture(Shader->pixel1_tex1_iter, m_pLightMap[sec]);
for (int poly = 0; poly < sector[sec].numpolygons; poly ++)
{
float d1 = D3DXVec3Dot(§or[sec].polygon[poly].normal, §or[sec].polygon[poly].vertex[0].pos);
float d2 = D3DXVec3Dot(§or[sec].polygon[poly].normal, &eye);
if(d2 > d1)
{
Shader->pPixelProgramContainer->SetTexture(Shader->pixel1_tex0_iter, m_pLevelTexture[sector[sec].polygon[poly].iTextureIdx]);
pd3dDevice->SetStreamSource( 0, sector[sec].polygon[poly].vertbuf, sizeof(LEVELVERTEX) );
if(FAILED(hr = pd3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, 0, sector[sec].polygon[poly].numverticies-2 ) ) )
return hr;
}
}
}
return S_OK;
}


This error also happens on DrawPrimitive calls in common files such as d3dfont so I don''t think it is one specific problem.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Are you aware DrawPrimitive takes the number of *polys* instead of vertices? That might cause the access violation.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
oops didn''t see the subtraction

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!