/* * $Id: others.c 394 2009-11-26 02:07:55Z HansR $ * * $Date: 2009-11-26 02:07:55 +0000 (Thu, 26 Nov 2009) $ * $Revision: 394 $ * * (C) 1999 by Hyperion * All rights reserved * * This file is part of the MiniGL library project * See the file Licence.txt for more details * */ #include "sysinc.h" #include "util.h" int32 mapMGLZTestToW3D(int32 mglZ, int32 defZ) { switch (mglZ) { case GL_NEVER: return W3D_Z_NEVER; break; case GL_LESS: return W3D_Z_LESS; break; case GL_EQUAL: return W3D_Z_EQUAL; break; case GL_LEQUAL: return W3D_Z_LEQUAL; break; case GL_GREATER: return W3D_Z_GREATER; break; case GL_NOTEQUAL: return W3D_Z_NOTEQUAL; break; case GL_GEQUAL: return W3D_Z_GEQUAL; break; case GL_ALWAYS: return W3D_Z_ALWAYS; break; default: break; } return defZ; } int32 mapMGLATestToW3D(int32 mglA, int32 defA) { switch (mglA) { case GL_NEVER: return W3D_A_NEVER; break; case GL_LESS: return W3D_A_LESS; break; case GL_EQUAL: return W3D_A_EQUAL; break; case GL_LEQUAL: return W3D_A_LEQUAL; break; case GL_GREATER: return W3D_A_GREATER; break; case GL_NOTEQUAL: return W3D_A_NOTEQUAL; break; case GL_GEQUAL: return W3D_A_GEQUAL; break; case GL_ALWAYS: return W3D_A_ALWAYS; break; default: break; } return defA; } int32 mapMGLBlendSourceToW3D(int32 mglSrc, int32 defSrc) { switch (mglSrc) { case GL_ZERO: return W3D_ZERO; case GL_ONE: return W3D_ONE; case GL_SRC_COLOR: return W3D_SRC_COLOR; case GL_ONE_MINUS_SRC_COLOR: return W3D_ONE_MINUS_SRC_COLOR; case GL_DST_COLOR: return W3D_DST_COLOR; case GL_ONE_MINUS_DST_COLOR: return W3D_ONE_MINUS_DST_COLOR; case GL_SRC_ALPHA: return W3D_SRC_ALPHA; case GL_ONE_MINUS_SRC_ALPHA: return W3D_ONE_MINUS_SRC_ALPHA; case GL_DST_ALPHA: return W3D_DST_ALPHA; case GL_ONE_MINUS_DST_ALPHA: return W3D_ONE_MINUS_DST_ALPHA; case GL_SRC_ALPHA_SATURATE: return W3D_SRC_ALPHA_SATURATE; default: break; } return defSrc; } int32 mapMGLBlendDestToW3D(int32 mglDst, int32 defDst) { switch (mglDst) { case GL_ZERO: return W3D_ZERO; case GL_ONE: return W3D_ONE; case GL_SRC_COLOR: return W3D_SRC_COLOR; case GL_ONE_MINUS_SRC_COLOR: return W3D_ONE_MINUS_SRC_COLOR; case GL_DST_COLOR: return W3D_DST_COLOR; case GL_ONE_MINUS_DST_COLOR: return W3D_ONE_MINUS_DST_COLOR; case GL_SRC_ALPHA: return W3D_SRC_ALPHA; case GL_ONE_MINUS_SRC_ALPHA: return W3D_ONE_MINUS_SRC_ALPHA; case GL_DST_ALPHA: return W3D_DST_ALPHA; case GL_ONE_MINUS_DST_ALPHA: return W3D_ONE_MINUS_DST_ALPHA; default: break; } return defDst; } int32 mapMGLLogicOpToW3D(int32 mglL, int32 defL) { switch (mglL) { case GL_CLEAR: return W3D_LO_CLEAR; case GL_AND: return W3D_LO_AND; case GL_AND_REVERSE: return W3D_LO_AND_REVERSE; case GL_COPY: return W3D_LO_COPY; case GL_AND_INVERTED: return W3D_LO_AND_INVERTED; case GL_NOOP: return W3D_LO_NOOP; case GL_XOR: return W3D_LO_XOR; case GL_OR: return W3D_LO_OR; case GL_NOR: return W3D_LO_NOR; case GL_EQUIV: return W3D_LO_EQUIV; case GL_INVERT: return W3D_LO_INVERT; case GL_OR_REVERSE: return W3D_LO_OR_REVERSE; case GL_COPY_INVERTED: return W3D_LO_COPY_INVERTED; case GL_OR_INVERTED: return W3D_LO_OR_INVERTED; case GL_NAND: return W3D_LO_NAND; case GL_SET: return W3D_LO_SET; default: break; } return defL; } int32 mapMGLTexEnvToW3D(int32 mglEnv, int32 defEnv) { switch (mglEnv) { case GL_REPLACE: return W3D_REPLACE; case GL_MODULATE: return W3D_MODULATE; case GL_DECAL: return W3D_DECAL; case GL_BLEND: return W3D_BLEND; case GL_ADD: return W3D_ADD; default: break; } return defEnv; }