__declspec(dllexport) void CALLBACK _ToggleVSync( bool set )
{
	ToggleVSync( set );
}
Exemplo n.º 2
0
int32_t FceuGraphics::PSGLInit()
{
	glDisable(GL_DEPTH_TEST);
	ToggleVSync(m_vsync);

	uint32_t ret = InitCg();
	if (ret != CELL_OK)
	{
		LOG_DBG("Failed to InitCg: %d\n", __LINE__);
	}

	//FIXME: Change to SetViewports?
	set_aspect();

	vertex_buf = (uint8_t*)memalign(128, 256);
	assert(vertex_buf);

	glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
	glColor4f(1.0, 1.0, 1.0, 1.0);
	Clear();
	Swap();

	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
	glGenBuffers(1, &pbo);
	glGenBuffers(1, &vbo);

	// Vertexes
	GLfloat vertexes[] = {
	  0, 0, 0,
	  0, 1, 0,
	  1, 1, 0,
	  1, 0, 0,
	  0, 1,
	  0, 0,
	  1, 0,
	  1, 1
	};

	memcpy(vertex_buf, vertexes, 12 * sizeof(GLfloat));
	memcpy(vertex_buf + 128, vertexes + 12, 8 * sizeof(GLfloat));

	glBindBuffer(GL_ARRAY_BUFFER, vbo);
	glBufferData(GL_ARRAY_BUFFER, 256, vertex_buf, GL_STATIC_DRAW);

	glEnableClientState(GL_VERTEX_ARRAY);
	glEnableClientState(GL_TEXTURE_COORD_ARRAY);
	glVertexPointer(3, GL_FLOAT, 0, 0);
	glTexCoordPointer(2, GL_FLOAT, 0, (void*)128);

	glEnable(GL_TEXTURE_2D);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
	glBindBuffer(GL_PIXEL_UNPACK_BUFFER_ARB, pbo);
	SetSmooth(m_smooth);

	glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
	glColor4f(1.0, 1.0, 1.0, 1.0);
	Clear();
	Swap();

	return CELL_OK;
}