GL-utils: Add vector transform functions

Might also be useful to have _neg versions of these (done quite often),
but decided to keep it simple for now.
This commit is contained in:
Julian Eisel 2015-09-20 17:21:06 +02:00
parent 605a2c8490
commit a28a1f11d6
1 changed files with 16 additions and 0 deletions

View File

@ -34,6 +34,7 @@
#define __BIF_GL_H__
#include "GPU_glew.h"
#include "BLI_utildefines.h"
/*
* these should be phased out. cpack should be replaced in
@ -85,5 +86,20 @@ void cpack(unsigned int x);
#define GLA_PIXEL_OFS 0.375f
BLI_INLINE void glTranslate3fv(const float vec[3]) { glTranslatef(UNPACK3(vec)); }
BLI_INLINE void glTranslate2fv(const float vec[2]) { glTranslatef(UNPACK2(vec), 0.0f); }
BLI_INLINE void glTranslate3dv(const double vec[3]) { glTranslated(UNPACK3(vec)); }
BLI_INLINE void glTranslate2dv(const double vec[2]) { glTranslated(UNPACK2(vec), 0.0f); }
BLI_INLINE void glScale3fv(const float vec[3]) { glScalef(UNPACK3(vec)); }
BLI_INLINE void glScale2fv(const float vec[2]) { glScalef(UNPACK2(vec), 0.0); }
BLI_INLINE void glScale3dv(const double vec[3]) { glScaled(UNPACK3(vec)); }
BLI_INLINE void glScale2dv(const double vec[2]) { glScaled(UNPACK2(vec), 0.0); }
/* v2 versions don't make much sense for rotation */
BLI_INLINE void glRotate3fv(const float angle, const float vec[3]) { glRotatef(angle, UNPACK3(vec)); }
BLI_INLINE void glRotate3dv(const double angle, const double vec[3]) { glRotated(angle, UNPACK3(vec)); }
#endif /* #ifdef __BIF_GL_H__ */