From 856c345feca062fdfc0b177e0de25489fb1b0c06 Mon Sep 17 00:00:00 2001 From: "chirs241097@gmail.com" Date: Sat, 15 Mar 2014 02:29:19 +0000 Subject: Extend hge with a 3D Rotation method, it's not tested yet. Fix probable compile errors due to includes. --- hge/graphics.cpp | 16 ++++++++++++++++ hge/hge_impl.h | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'hge') diff --git a/hge/graphics.cpp b/hge/graphics.cpp index 0bab75a..9688024 100644 --- a/hge/graphics.cpp +++ b/hge/graphics.cpp @@ -253,6 +253,22 @@ void CALL HGE_Impl::Gfx_SetTransform(float x, float y, float dx, float dy, float } } +void CALL HGE_Impl::Gfx_SetTDRotate(float ang, float x, float y, float z) +{ + if (!bTransforming) + { + if ((x == 0.0f) && (y == 0.0f) && (z == 0.0f) && (ang == 0.0f)) + return; // nothing to do here, don't call into the GL. + } + + _render_batch(); + + bTransforming = true; + + pOpenGLDevice->glMatrixMode(GL_MODELVIEW); + pOpenGLDevice->glRotatef(ang, x, y, z); +} + bool CALL HGE_Impl::Gfx_BeginScene(HTARGET targ) { CRenderTargetList *target=(CRenderTargetList *)targ; diff --git a/hge/hge_impl.h b/hge/hge_impl.h index 9c9f813..bcee956 100644 --- a/hge/hge_impl.h +++ b/hge/hge_impl.h @@ -10,7 +10,7 @@ #define HGE_IMPL_UNIX_H #include "unix_compat.h" -#include "../../include/hge.h" +#include "hge.h" #include #include #include "SDL/SDL.h" @@ -214,6 +214,7 @@ public: virtual void CALL Gfx_FinishBatch(int nprim); virtual void CALL Gfx_SetClipping(int x=0, int y=0, int w=0, int h=0); virtual void CALL Gfx_SetTransform(float x=0, float y=0, float dx=0, float dy=0, float rot=0, float hscale=0, float vscale=0); + virtual void CALL Gfx_SetTDRotate(float ang=0, float x=0, float y=0, float z=0); virtual HTARGET CALL Target_Create(int width, int height, bool zbuffer); virtual void CALL Target_Free(HTARGET target); -- cgit v1.2.3