This commit is contained in:
parent
4ced8e9af2
commit
bd07373b05
6 changed files with 41 additions and 14 deletions
|
@ -130,8 +130,8 @@ float YOfs=0;
|
||||||
RECT ThisRect;
|
RECT ThisRect;
|
||||||
|
|
||||||
ParentWindow->GetWindowRect(&ThisRect);
|
ParentWindow->GetWindowRect(&ThisRect);
|
||||||
XS=MapPos.z*Layers[ActiveLayer]->GetLayerZPos();
|
XS=MapPos.z*2;//*Layers[ActiveLayer]->GetLayerZPos();
|
||||||
YS=MapPos.z*Layers[ActiveLayer]->GetLayerZPos();
|
YS=MapPos.z*2;//*Layers[ActiveLayer]->GetLayerZPos();
|
||||||
XS/=((ThisRect.right-ThisRect.left));
|
XS/=((ThisRect.right-ThisRect.left));
|
||||||
YS/=((ThisRect.bottom-ThisRect.top));
|
YS/=((ThisRect.bottom-ThisRect.top));
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,8 @@ public:
|
||||||
void UpdateView(float XOfs,float YOfs,float ZOfs);
|
void UpdateView(float XOfs,float YOfs,float ZOfs);
|
||||||
void SetMouseMode(MOUSE_MODE CurrentMode,MOUSE_MODE NewMode);
|
void SetMouseMode(MOUSE_MODE CurrentMode,MOUSE_MODE NewMode);
|
||||||
|
|
||||||
|
Vec &GetMapPos() {return(MapPos);}
|
||||||
|
|
||||||
// Layers
|
// Layers
|
||||||
void LayerSetActive(int Layer);
|
void LayerSetActive(int Layer);
|
||||||
int LayerGetActive();
|
int LayerGetActive();
|
||||||
|
|
|
@ -70,10 +70,19 @@ CLayer::~CLayer()
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CLayer::Render(Vec &MapPos,BOOL Is3d)
|
void CLayer::Render(Vec &MapPos,BOOL Is3d)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
if (Is3d && CanRender3d())
|
if (Is3d && CanRender3d())
|
||||||
Render3d(MapPos);
|
Render3d(MapPos);
|
||||||
else
|
else
|
||||||
Render2d(MapPos);
|
Render2d(MapPos);
|
||||||
|
*/
|
||||||
|
Vec ZeroPos(0,0,0);
|
||||||
|
if (Is3d && CanRender3d())
|
||||||
|
Render3d(ZeroPos);
|
||||||
|
else
|
||||||
|
Render2d(ZeroPos);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -102,24 +111,16 @@ return;
|
||||||
float asd=0;
|
float asd=0;
|
||||||
void CLayer::Render3d(Vec &MapPos)
|
void CLayer::Render3d(Vec &MapPos)
|
||||||
{
|
{
|
||||||
float ZOfs=GetLayerZPos();
|
|
||||||
float XYDiv=GetLayerZPosDiv();
|
float XYDiv=GetLayerZPosDiv();
|
||||||
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glTranslatef(MapPos.x/XYDiv,MapPos.y/XYDiv,MapPos.z-ZOfs);
|
glTranslatef(MapPos.x/XYDiv,MapPos.y/XYDiv,MapPos.z);
|
||||||
glRotatef(asd,0,1,0);
|
glRotatef(asd,0,1,0);
|
||||||
asd+=0.5;
|
asd+=0.5;
|
||||||
/*
|
|
||||||
glBegin(GL_QUADS);
|
|
||||||
SetTestColor();
|
|
||||||
BuildGLBox(-1,LayerWidth+1,-1,0,0,0+1); // Bottom
|
|
||||||
BuildGLBox(-1,LayerWidth+1,LayerHeight+1,LayerHeight,0,0+1); // Top
|
|
||||||
BuildGLBox(-1,0,LayerHeight,0,0,0+1); // Left
|
|
||||||
BuildGLBox(LayerWidth,LayerWidth+1,LayerHeight,0,0,0+1); // Right
|
|
||||||
glEnd();
|
|
||||||
*/
|
|
||||||
glCallList(TestTile);
|
glCallList(TestTile);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,6 @@ virtual void Render2d(Vec &MapPos);
|
||||||
virtual void Render3d(Vec &MapPos);
|
virtual void Render3d(Vec &MapPos);
|
||||||
|
|
||||||
virtual float GetLayerZPosDiv()=0;
|
virtual float GetLayerZPosDiv()=0;
|
||||||
virtual float GetLayerZPos()=0;
|
|
||||||
virtual BOOL CanRender3d()=0;
|
virtual BOOL CanRender3d()=0;
|
||||||
virtual void SetTestColor()=0;
|
virtual void SetTestColor()=0;
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,7 @@ void CMapEditView::OnCreateGL()
|
||||||
glClearDepth(1.0f); // Depth Buffer Setup
|
glClearDepth(1.0f); // Depth Buffer Setup
|
||||||
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
|
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
|
||||||
glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do
|
glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do
|
||||||
|
// glDepthRange(-100000,+100000);
|
||||||
glEnable(GL_LIGHT0); // Quick And Dirty Lighting (Assumes Light0 Is SetUp)
|
glEnable(GL_LIGHT0); // Quick And Dirty Lighting (Assumes Light0 Is SetUp)
|
||||||
glEnable(GL_LIGHTING); // Enable Lighting
|
glEnable(GL_LIGHTING); // Enable Lighting
|
||||||
glEnable(GL_COLOR_MATERIAL); // Enable Material Coloring
|
glEnable(GL_COLOR_MATERIAL); // Enable Material Coloring
|
||||||
|
@ -78,6 +79,27 @@ void CMapEditView::OnCreateGL()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
void CMapEditView::OnSizeGL(int cx, int cy)
|
||||||
|
{
|
||||||
|
// set correspondence between window and OGL viewport
|
||||||
|
glViewport(0,0,cx,cy);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMapEditView::UpdateCamera()
|
||||||
|
{
|
||||||
|
//Vec &CamPos=Core
|
||||||
|
// update the camera
|
||||||
|
glPushMatrix();
|
||||||
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
glLoadIdentity();
|
||||||
|
gluPerspective(40.0,m_dAspectRatio,0.1f, 10.0f);
|
||||||
|
glTranslatef(0.0f,0.0f,-4.f);
|
||||||
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
glPopMatrix();
|
||||||
|
|
||||||
|
}
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
void CMapEditView::OnDrawGL()
|
void CMapEditView::OnDrawGL()
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,6 +21,9 @@ public:
|
||||||
CMapEditDoc* GetDocument();
|
CMapEditDoc* GetDocument();
|
||||||
void OnCreateGL();
|
void OnCreateGL();
|
||||||
void OnDrawGL();
|
void OnDrawGL();
|
||||||
|
void OnSizeGL(int cx, int cy);
|
||||||
|
void UpdateCamera();
|
||||||
|
|
||||||
// Operations
|
// Operations
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue