Beispiel #1
0
void PACK_APIENTRY crPackProgramNamedParameter4dNV (GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
    CR_GET_PACKER_CONTEXT(pc);
    unsigned char *data_ptr;
    int packet_length = 48 + len;

    CR_GET_BUFFERED_POINTER(pc, packet_length);
    WRITE_DATA(0, GLint, packet_length);
    WRITE_DATA(4, GLenum, CR_PROGRAMNAMEDPARAMETER4DNV_EXTEND_OPCODE);
    WRITE_DATA(8, GLenum, id);
    WRITE_DATA(12, GLuint, len);
    WRITE_DOUBLE(16, x);
    WRITE_DOUBLE(24, y);
    WRITE_DOUBLE(32, z);
    WRITE_DOUBLE(40, w);
    crMemcpy((void *) (data_ptr + 48), name, len);

    WRITE_OPCODE(pc, CR_EXTEND_OPCODE);
    CR_UNLOCK_PACKER_CONTEXT(pc);
}
void PACK_APIENTRY crPackMultMatrixd( const GLdouble *m )
{
    CR_GET_PACKER_CONTEXT(pc);
    unsigned char *data_ptr;
    int packet_length = 16*sizeof( *m );
    CR_GET_BUFFERED_POINTER(pc, packet_length );
    WRITE_DOUBLE( 0*sizeof(double), m[ 0] );
    WRITE_DOUBLE( 1*sizeof(double), m[ 1] );
    WRITE_DOUBLE( 2*sizeof(double), m[ 2] );
    WRITE_DOUBLE( 3*sizeof(double), m[ 3] );
    WRITE_DOUBLE( 4*sizeof(double), m[ 4] );
    WRITE_DOUBLE( 5*sizeof(double), m[ 5] );
    WRITE_DOUBLE( 6*sizeof(double), m[ 6] );
    WRITE_DOUBLE( 7*sizeof(double), m[ 7] );
    WRITE_DOUBLE( 8*sizeof(double), m[ 8] );
    WRITE_DOUBLE( 9*sizeof(double), m[ 9] );
    WRITE_DOUBLE( 10*sizeof(double), m[10] );
    WRITE_DOUBLE( 11*sizeof(double), m[11] );
    WRITE_DOUBLE( 12*sizeof(double), m[12] );
    WRITE_DOUBLE( 13*sizeof(double), m[13] );
    WRITE_DOUBLE( 14*sizeof(double), m[14] );
    WRITE_DOUBLE( 15*sizeof(double), m[15] );
    WRITE_OPCODE( pc, CR_MULTMATRIXD_OPCODE );
    CR_UNLOCK_PACKER_CONTEXT(pc);
}
void PACK_APIENTRY crPackLoadTransposeMatrixdARB( const GLdouble *m )
{
    CR_GET_PACKER_CONTEXT(pc);
    unsigned char *data_ptr;
    int packet_length = 16*sizeof( *m ) + sizeof(GLint) + sizeof(GLenum);
    CR_GET_BUFFERED_POINTER(pc, packet_length );
    WRITE_DATA( 0, GLint, packet_length );
    WRITE_DATA( 4, GLenum, CR_LOADTRANSPOSEMATRIXDARB_EXTEND_OPCODE );
    WRITE_DOUBLE( 8 + 0*sizeof(double), m[ 0] );
    WRITE_DOUBLE( 8 + 1*sizeof(double), m[ 1] );
    WRITE_DOUBLE( 8 + 2*sizeof(double), m[ 2] );
    WRITE_DOUBLE( 8 + 3*sizeof(double), m[ 3] );
    WRITE_DOUBLE( 8 + 4*sizeof(double), m[ 4] );
    WRITE_DOUBLE( 8 + 5*sizeof(double), m[ 5] );
    WRITE_DOUBLE( 8 + 6*sizeof(double), m[ 6] );
    WRITE_DOUBLE( 8 + 7*sizeof(double), m[ 7] );
    WRITE_DOUBLE( 8 + 8*sizeof(double), m[ 8] );
    WRITE_DOUBLE( 8 + 9*sizeof(double), m[ 9] );
    WRITE_DOUBLE( 8 + 10*sizeof(double), m[10] );
    WRITE_DOUBLE( 8 + 11*sizeof(double), m[11] );
    WRITE_DOUBLE( 8 + 12*sizeof(double), m[12] );
    WRITE_DOUBLE( 8 + 13*sizeof(double), m[13] );
    WRITE_DOUBLE( 8 + 14*sizeof(double), m[14] );
    WRITE_DOUBLE( 8 + 15*sizeof(double), m[15] );
    WRITE_OPCODE( pc, CR_EXTEND_OPCODE );
    CR_UNLOCK_PACKER_CONTEXT(pc);
}