Original Post
🔒 Locked
Engine and Enum Management
Advertisement
my suggestion would be to make your engine a little bit more high level... don't merely make it a wrapper to DX or GL. Instead, create higher-level constructs, like meshes, and make an abstract class for rendering these constructs... then, when it comes time to draw them, you can use concrete subclasses (one for DX, one for GL) which handle the proper enumerations for lighting or matrix selection or whatever have you.
Define your own values, and the OpenGL or DirectX layer should translate to the appropriate value for it's API.
ie:
enum
{
MC_None,
MC_CW,
MC_CCW,
MC_MAX
}MyCull;
and to convert, you can do a simple table:
D3DCULL aD3DCull[MC_MAX] = { D3DCULL_None, D3DCULL_CW, D3DCULL,CCW};
pDev->SetRenderState(D3DRS_CULLMODE, aD3DCull[cullMode]);
ie:
enum
{
MC_None,
MC_CW,
MC_CCW,
MC_MAX
}MyCull;
and to convert, you can do a simple table:
D3DCULL aD3DCull[MC_MAX] = { D3DCULL_None, D3DCULL_CW, D3DCULL,CCW};
pDev->SetRenderState(D3DRS_CULLMODE, aD3DCull[cullMode]);
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement