Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

ps2gl.h

Go to the documentation of this file.
00001 /*           Copyright (C) 2001 Sony Computer Entertainment America
00002                               All Rights Reserved
00003                                SCEA Confidential                                */
00004 
00005 #ifndef ps2gl_h
00006 #define ps2gl_h
00007 
00008 #include "GL/gl.h"
00009 
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif // __cplusplus
00013 
00014    // immBufferVertexSize is the size in vertices of the buffers used to store
00015    // glBegin/glEnd geometry. there are currently 2 sets of buffers:
00016    // vertex, normal, tex coord, and color buffers.
00017    extern int   pglInit( int immBufferVertexSize );
00018    extern int   pglHasLibraryBeenInitted(void);
00019    extern void  pglFinish(void);
00020 
00021    extern void  pglWaitForVU1(void);
00022    extern void  pglWaitForVSync(void);
00023    extern void  pglSwapBuffers(void);
00024 
00025    // gs memory allocation
00026 
00027    extern void pglPrintGsMemAllocation(void);
00028    extern int pglHasGsMemBeenInitted(void);
00029 
00030    // gs mem slots
00031 
00032    typedef unsigned int pgl_slot_handle_t;
00033 
00034    extern pgl_slot_handle_t pglAddGsMemSlot( int startingPage, int pageLength, unsigned int pixelMode );
00035    extern void pglLockGsMemSlot( pgl_slot_handle_t slot_handle );
00036    extern void pglUnlockGsMemSlot( pgl_slot_handle_t slot_handle );
00037    extern void pglRemoveAllGsMemSlots();
00038 
00039    // gs mem areas
00040 
00041    typedef unsigned int pgl_area_handle_t;
00042 
00043    extern pgl_area_handle_t pglCreateGsMemArea( int width, int height, unsigned int pix_format );
00044    extern void pglDestroyGsMemArea( pgl_area_handle_t mem_area );
00045 
00046    extern void pglAllocGsMemArea( pgl_area_handle_t mem_area );
00047    extern void pglFreeGsMemArea( pgl_area_handle_t mem_area );
00048 
00049    extern void pglSetGsMemAreaWordAddr( pgl_area_handle_t mem_area, unsigned int addr );
00050 
00051    extern void pglBindGsMemAreaToSlot( pgl_area_handle_t mem_area, pgl_slot_handle_t mem_slot );
00052    extern void pglUnbindGsMemArea( pgl_area_handle_t mem_area );
00053 
00054    extern void pglLockGsMemArea( pgl_area_handle_t mem_area );
00055    extern void pglUnlockGsMemArea( pgl_area_handle_t mem_area );
00056 
00057    extern int pglGsMemAreaIsAllocated( pgl_area_handle_t mem_area );
00058    extern unsigned int pglGetGsMemAreaWordAddr( pgl_area_handle_t mem_area );
00059 
00060    // display and draw management
00061 
00062    extern void pglSetDisplayBuffers( pgl_area_handle_t frame0_mem, pgl_area_handle_t frame1_mem );
00063    extern void pglSetDrawBuffers( pgl_area_handle_t frame0_mem, pgl_area_handle_t frame1_mem,
00064                                   pgl_area_handle_t depth_mem );
00065 
00066    // textures
00067 
00068    void pglTextureFromGsMemArea( pgl_area_handle_t tex_area_handle );
00069 
00070    // geometry
00071 
00072    void pglNormalPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
00073 
00074 #ifdef __cplusplus
00075 }
00076 #endif // __cplusplus
00077 
00078 #endif // ps2gl_h

ps2gl version 0.2