Added a lot of methods to send uniforms

including arrays and integers vectors


Former-commit-id: c365cccdbad7eab1a1212e78759d7fda857012f9
This commit is contained in:
Lynix
2013-09-16 01:01:59 +02:00
parent f0eac2bc0d
commit 15fa8378c9
6 changed files with 597 additions and 0 deletions

View File

@@ -258,12 +258,18 @@ NAZARA_API extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
NAZARA_API extern PFNGLPROGRAMUNIFORM1DPROC glProgramUniform1d;
NAZARA_API extern PFNGLPROGRAMUNIFORM1FPROC glProgramUniform1f;
NAZARA_API extern PFNGLPROGRAMUNIFORM1IPROC glProgramUniform1i;
NAZARA_API extern PFNGLPROGRAMUNIFORM1DVPROC glProgramUniform1dv;
NAZARA_API extern PFNGLPROGRAMUNIFORM1FVPROC glProgramUniform1fv;
NAZARA_API extern PFNGLPROGRAMUNIFORM1IVPROC glProgramUniform1iv;
NAZARA_API extern PFNGLPROGRAMUNIFORM2DVPROC glProgramUniform2dv;
NAZARA_API extern PFNGLPROGRAMUNIFORM2FVPROC glProgramUniform2fv;
NAZARA_API extern PFNGLPROGRAMUNIFORM2IVPROC glProgramUniform2iv;
NAZARA_API extern PFNGLPROGRAMUNIFORM3DVPROC glProgramUniform3dv;
NAZARA_API extern PFNGLPROGRAMUNIFORM3FVPROC glProgramUniform3fv;
NAZARA_API extern PFNGLPROGRAMUNIFORM3IVPROC glProgramUniform3iv;
NAZARA_API extern PFNGLPROGRAMUNIFORM4DVPROC glProgramUniform4dv;
NAZARA_API extern PFNGLPROGRAMUNIFORM4FVPROC glProgramUniform4fv;
NAZARA_API extern PFNGLPROGRAMUNIFORM4IVPROC glProgramUniform4iv;
NAZARA_API extern PFNGLPROGRAMUNIFORMMATRIX4DVPROC glProgramUniformMatrix4dv;
NAZARA_API extern PFNGLPROGRAMUNIFORMMATRIX4FVPROC glProgramUniformMatrix4fv;
NAZARA_API extern PFNGLREADPIXELSPROC glReadPixels;
@@ -290,12 +296,18 @@ NAZARA_API extern PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
NAZARA_API extern PFNGLUNIFORM1DPROC glUniform1d;
NAZARA_API extern PFNGLUNIFORM1FPROC glUniform1f;
NAZARA_API extern PFNGLUNIFORM1IPROC glUniform1i;
NAZARA_API extern PFNGLUNIFORM1DVPROC glUniform1dv;
NAZARA_API extern PFNGLUNIFORM1FVPROC glUniform1fv;
NAZARA_API extern PFNGLUNIFORM1IVPROC glUniform1iv;
NAZARA_API extern PFNGLUNIFORM2DVPROC glUniform2dv;
NAZARA_API extern PFNGLUNIFORM2FVPROC glUniform2fv;
NAZARA_API extern PFNGLUNIFORM2IVPROC glUniform2iv;
NAZARA_API extern PFNGLUNIFORM3DVPROC glUniform3dv;
NAZARA_API extern PFNGLUNIFORM3FVPROC glUniform3fv;
NAZARA_API extern PFNGLUNIFORM3IVPROC glUniform3iv;
NAZARA_API extern PFNGLUNIFORM4DVPROC glUniform4dv;
NAZARA_API extern PFNGLUNIFORM4FVPROC glUniform4fv;
NAZARA_API extern PFNGLUNIFORM4IVPROC glUniform4iv;
NAZARA_API extern PFNGLUNIFORMMATRIX4DVPROC glUniformMatrix4dv;
NAZARA_API extern PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
NAZARA_API extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;

View File

@@ -66,17 +66,32 @@ class NAZARA_API NzShaderProgram : public NzResource, NzNonCopyable
bool SendBoolean(int location, bool value) const;
bool SendColor(int location, const NzColor& color) const;
bool SendDouble(int location, double value) const;
bool SendDoubleArray(int location, const double* values, unsigned int count) const;
bool SendFloat(int location, float value) const;
bool SendFloatArray(int location, const float* values, unsigned int count) const;
bool SendInteger(int location, int value) const;
bool SendIntegerArray(int location, const int* values, unsigned int count) const;
bool SendMatrix(int location, const NzMatrix4d& matrix) const;
bool SendMatrix(int location, const NzMatrix4f& matrix) const;
bool SendTexture(int location, const NzTexture* texture, nzUInt8* textureUnit = nullptr) const;
bool SendVector(int location, const NzVector2d& vector) const;
bool SendVector(int location, const NzVector2f& vector) const;
bool SendVector(int location, const NzVector2i& vector) const;
bool SendVector(int location, const NzVector3d& vector) const;
bool SendVector(int location, const NzVector3f& vector) const;
bool SendVector(int location, const NzVector3i& vector) const;
bool SendVector(int location, const NzVector4d& vector) const;
bool SendVector(int location, const NzVector4f& vector) const;
bool SendVector(int location, const NzVector4i& vector) const;
bool SendVectorArray(int location, const NzVector2d* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector2f* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector2i* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector3d* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector3f* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector3i* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector4d* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector4f* vectors, unsigned int count) const;
bool SendVectorArray(int location, const NzVector4i* vectors, unsigned int count) const;
void SetFlags(nzUInt32 flags);