WINTERMUTE: Implement proper 3d setup function
This commit is contained in:
parent
bf43ae1588
commit
1d6a47c8b3
4 changed files with 22 additions and 3 deletions
|
@ -256,6 +256,11 @@ bool BaseRenderer::setup2D(bool Force) {
|
||||||
return STATUS_FAILED;
|
return STATUS_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
bool BaseRenderer::setup3D(Camera3D* camera, bool force) {
|
||||||
|
return STATUS_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
bool BaseRenderer::setupLines() {
|
bool BaseRenderer::setupLines() {
|
||||||
|
|
|
@ -41,6 +41,7 @@ class BaseActiveRect;
|
||||||
class BaseObject;
|
class BaseObject;
|
||||||
class BaseSurface;
|
class BaseSurface;
|
||||||
class BasePersistenceManager;
|
class BasePersistenceManager;
|
||||||
|
class Camera3D;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class BaseRenderer a common interface for the rendering portion of WME
|
* @class BaseRenderer a common interface for the rendering portion of WME
|
||||||
|
@ -120,6 +121,7 @@ public:
|
||||||
virtual bool forcedFlip() = 0;
|
virtual bool forcedFlip() = 0;
|
||||||
virtual void initLoop();
|
virtual void initLoop();
|
||||||
virtual bool setup2D(bool force = false);
|
virtual bool setup2D(bool force = false);
|
||||||
|
virtual bool setup3D(Camera3D* camera = nullptr, bool force = false);
|
||||||
virtual bool setupLines();
|
virtual bool setupLines();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -256,8 +256,20 @@ bool BaseRenderOpenGL3D::setup2D(bool force) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BaseRenderOpenGL3D::setup3D(bool force) {
|
bool BaseRenderOpenGL3D::setup3D(Camera3D* camera, bool force) {
|
||||||
warning("BaseRenderOpenGL3D::setup3D not yet implemented");
|
if (!_state3D || force) {
|
||||||
|
_state3D = true;
|
||||||
|
|
||||||
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
|
glAlphaFunc(GL_GEQUAL, 0x08);
|
||||||
|
|
||||||
|
// no culling for the moment
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
|
|
||||||
|
setProjection();
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ public:
|
||||||
bool forcedFlip() override;
|
bool forcedFlip() override;
|
||||||
void initLoop() override;
|
void initLoop() override;
|
||||||
bool setup2D(bool force = false) override;
|
bool setup2D(bool force = false) override;
|
||||||
bool setup3D(bool force = false);
|
bool setup3D(Camera3D *camera, bool force = false) override;
|
||||||
bool setupLines() override;
|
bool setupLines() override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue