예제 #1
0
void crUnpackLoadMatrixf( void  )
{
	GLfloat *m = DATA_POINTER( 0, GLfloat );

	cr_unpackDispatch.LoadMatrixf( m );
	INCR_DATA_PTR( 16*sizeof( GLfloat ) );
}
예제 #2
0
void crUnpackVertexAttrib4usvARB(void)
{
	GLuint index = READ_DATA(0, GLuint);
	const GLushort *v = DATA_POINTER(4, const GLushort);
	cr_unpackDispatch.VertexAttrib4usvARB(index, v);
	INCR_DATA_PTR(12);
}
예제 #3
0
void crUnpackVertexAttrib4ubvARB(void)
{
	GLuint index = READ_DATA(0, GLuint);
	const GLubyte *v = DATA_POINTER(4, const GLubyte);
	cr_unpackDispatch.VertexAttrib4ubvARB(index, v);
	INCR_DATA_PTR(8);
}
예제 #4
0
void crUnpackMultMatrixd( void  )
{
	GLdouble m[16];
	crMemcpy( m, DATA_POINTER( 0, GLdouble ), sizeof(m) );

	cr_unpackDispatch.MultMatrixd( m );
	INCR_DATA_PTR( 16*sizeof( GLdouble ) );
}
void crUnpackClipPlane(PCrUnpackerState pState)
{
	GLdouble equation[4];
    CHECK_BUFFER_SIZE_STATIC(pState, 4 + sizeof(equation));

	GLenum plane = READ_DATA(pState, 0, GLenum );
	crMemcpy( equation, DATA_POINTER(pState, 4, GLdouble ), sizeof(equation) );

	pState->pDispatchTbl->ClipPlane( plane, equation );
	INCR_DATA_PTR(pState, sizeof( GLenum ) + 4*sizeof( GLdouble ));
}
void crUnpackReadPixels( void )
{
	GLint x        = READ_DATA( 0, GLint );
	GLint y        = READ_DATA( 4, GLint );
	GLsizei width  = READ_DATA( 8, GLsizei );
	GLsizei height = READ_DATA( 12, GLsizei );
	GLenum format  = READ_DATA( 16, GLenum );
	GLenum type    = READ_DATA( 20, GLenum );
	GLint stride   = READ_DATA( 24, GLint );
	GLint alignment     = READ_DATA( 28, GLint );
	GLint skipRows      = READ_DATA( 32, GLint );
	GLint skipPixels    = READ_DATA( 36, GLint );
	GLint bytes_per_row = READ_DATA( 40, GLint );
	GLint rowLength     = READ_DATA( 44, GLint );
	GLvoid *pixels;

	/* point <pixels> at the 8-byte network pointer */
	pixels = DATA_POINTER( 48, GLvoid );

	(void) stride;
	(void) bytes_per_row;
	(void) alignment;
	(void) skipRows;
	(void) skipPixels;
	(void) rowLength;

	/* we always pack densely on the server side! */
	cr_unpackDispatch.PixelStorei( GL_PACK_ROW_LENGTH, 0 );
	cr_unpackDispatch.PixelStorei( GL_PACK_SKIP_PIXELS, 0 );
	cr_unpackDispatch.PixelStorei( GL_PACK_SKIP_ROWS, 0 );
	cr_unpackDispatch.PixelStorei( GL_PACK_ALIGNMENT, 1 );

	cr_unpackDispatch.ReadPixels( x, y, width, height, format, type, pixels);

	INCR_DATA_PTR(48+sizeof(CRNetworkPointer));
}