Sign in to follow this  

C++ Stack Overflow Error?

Recommended Posts

So I am having this error with my code and keep getting the Stack Overflow Error and cannot fix it no matter what I try. I was hoping someone could point out what is wrong.


Here is my model loading and drawing code:



#include "model.h"



void Model::Load(LPCSTR Filename, LPDIRECT3DDEVICE9 GraphicsDevice)
    HR = D3DXLoadMeshFromX("Content/m.x", D3DXMESH_SYSTEMMEM,
        GraphicsDevice, NULL, &MaterialBuffer, NULL, &MaterialCount,
    if (FAILED(HR))
        MessageBox(NULL, "Can't load model!", "ERROR", MB_OK);
    Materials = (D3DXMATERIAL*)MaterialBuffer->GetBufferPointer();
    MeshMaterials = new D3DMATERIAL9[MaterialCount];
    MeshTextures = new LPDIRECT3DTEXTURE9[MaterialCount];
    for (DWORD i = 0; i < MaterialCount; i++)
        MeshMaterials[i] = Materials[i].MatD3D;
        MeshMaterials[i].Ambient = MeshMaterials[i].Diffuse;
        MeshTextures[i] = NULL;
        if (Materials[i].pTextureFilename)
            Materials[i].pTextureFilename, &MeshTextures[i]);

void Model::Render(LPDIRECT3DDEVICE9 GraphicsDevice)
    D3DXMATRIX World;
    GraphicsDevice->SetTransform(D3DTS_WORLD, &World);
    for (DWORD i = 0; i < MaterialCount; i++)
        GraphicsDevice->SetTexture(0, MeshTextures[i]);



#ifndef _MODEL_H_
#define _MODEL_H_
#include <d3d9.h>
#include <d3dx9.h>

class Model
        LPD3DXMESH Mesh;
        LPD3DXBUFFER MaterialBuffer;
        DWORD MaterialCount;
        D3DXMATERIAL* Materials;
        D3DMATERIAL9* MeshMaterials;
        LPDIRECT3DTEXTURE9* MeshTextures;
        void Load(LPCSTR, LPDIRECT3DDEVICE9);
        void Render(LPDIRECT3DDEVICE9);



Does anyone spot why this would be calling a stackoverflow error?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this