Secondly, alpha images seem to get blurry around the edges (between the alpha and the color), and it changes depending on their place on the screen. This only happens when I call sceGuTexFilter ( 1, 1 );
Here's how I have pspGU setup
Code: Select all
// vrelptr and valloc are from raphael's vram library
fbp0 = ( u32* ) vrelptr ( valloc ( FRAMEBUFFER_SIZE ) );
fbp1 = ( u32* ) vrelptr ( valloc ( FRAMEBUFFER_SIZE ) );
zbp = ( u16* ) vrelptr ( valloc ( DEPTHBUFFER_SIZE ) );
sceKernelDcacheWritebackAll();
// Setup GU
sceGuInit();
sceGuStart ( GU_DIRECT, DList );
sceGuDrawBuffer ( GU_PSM_8888, fbp0, BUF_WIDTH );
sceGuDispBuffer ( SCR_WIDTH, SCR_HEIGHT, fbp1, BUF_WIDTH );
sceGuDepthBuffer ( zbp, BUF_WIDTH );
sceGuOffset ( 2048 - ( SCR_WIDTH / 2 ), 2048 - ( SCR_HEIGHT / 2 ) );
sceGuViewport ( 2048, 2048, SCR_WIDTH, SCR_HEIGHT );
sceGuDepthRange ( 65535, 0 );
sceGuScissor ( 0, 0, SCR_WIDTH, SCR_HEIGHT );
sceGuEnable ( GU_SCISSOR_TEST );
sceGuDepthFunc ( GU_GEQUAL );
//sceGuEnable ( GU_DEPTH_TEST );
sceGuEnable ( GU_CLIP_PLANES );
sceGuFrontFace ( GU_CW );
sceGuEnable ( GU_CULL_FACE );
sceGuShadeModel ( GU_SMOOTH );
sceGuTexMode ( GU_PSM_8888, 0, 0, 1 );
sceGuTexFunc ( GU_TFX_REPLACE, GU_TCC_RGBA );
sceGuEnable ( GU_TEXTURE_2D );
sceGuBlendFunc ( GU_ADD, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, 0, 0 );
sceGuEnable ( GU_BLEND );
sceGuClearColor ( RGB ( 0, 0, 0 ) );
sceGuClearDepth ( 0 );
sceGuFinish();
sceGuSync ( 0, 0 );
sceDisplayWaitVblankStart();
sceGuDisplay ( GU_TRUE );
// Custom matrix stuff, could be what's causing the bugs. If you want it posted, just ask
vfpu_perspective_m ( &m_projection, 75.0f, 16.0f / 9.0f, 1.0f, 1000.0f );
vfpu_ortho_m ( &m_ortho, 0.0f, 480.0f, 272.0f, 0.0f, -1.0f, 0.0f );
vfpu_identity_m ( &m_projection_model );
vfpu_identity_m ( &m_ortho_model );
vfpu_identity_m ( &m_projection_view );
vfpu_identity_m ( &m_ortho_view );
sceKernelDcacheWritebackAll();
Code: Select all
svn co http://zettablade.0x89.org/SVN/vLib