This commit is contained in:
commit
325ef6d7d7
5 changed files with 14 additions and 5 deletions
|
|
@ -787,6 +787,10 @@ void gl_InitModels()
|
|||
map[c]=1;
|
||||
}
|
||||
}
|
||||
else if (sc.Compare("dontcullbackfaces"))
|
||||
{
|
||||
smf.flags |= MDL_DONTCULLBACKFACES;
|
||||
}
|
||||
else
|
||||
{
|
||||
sc.ScriptMessage("Unrecognized string \"%s\"", sc.String);
|
||||
|
|
@ -949,8 +953,9 @@ void gl_RenderModel(GLSprite * spr)
|
|||
gl_RenderState.EnableTexture(true);
|
||||
// [BB] In case the model should be rendered translucent, do back face culling.
|
||||
// This solves a few of the problems caused by the lack of depth sorting.
|
||||
// [Nash] Don't do back face culling if explicitly specified in MODELDEF
|
||||
// TO-DO: Implement proper depth sorting.
|
||||
if (!( spr->actor->RenderStyle == LegacyRenderStyles[STYLE_Normal] ))
|
||||
if (!(spr->actor->RenderStyle == LegacyRenderStyles[STYLE_Normal]) && !(smf->flags & MDL_DONTCULLBACKFACES))
|
||||
{
|
||||
glEnable(GL_CULL_FACE);
|
||||
glFrontFace(GL_CW);
|
||||
|
|
@ -1012,6 +1017,9 @@ void gl_RenderModel(GLSprite * spr)
|
|||
// Model space => World space
|
||||
gl_RenderState.mModelMatrix.translate(spr->x, spr->z, spr->y );
|
||||
|
||||
// [Nash] take SpriteRotation into account
|
||||
angle += spr->actor->SpriteRotation.Degrees;
|
||||
|
||||
if (spr->actor->renderflags & RF_INTERPOLATEANGLES)
|
||||
{
|
||||
// [Nash] use interpolated angles
|
||||
|
|
|
|||
|
|
@ -370,6 +370,7 @@ enum
|
|||
MDL_USEACTORPITCH = 32,
|
||||
MDL_USEACTORROLL = 64,
|
||||
MDL_BADROTATION = 128,
|
||||
MDL_DONTCULLBACKFACES = 256,
|
||||
};
|
||||
|
||||
struct FSpriteModelFrame
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue