Exemple #1
0
unsigned int MeshGLText::Initialize()
{
	m_vertexData = new VertexData;
	m_vertexData->data = new VertexDataRaw;
	m_vertexData->ids = new VertexDataID;

	// generate vertex data and vertex array
	

	// setting up buffers

	glGenVertexArrays(1, &m_vertexData->ids->vertexArrayID);
	glBindVertexArray(m_vertexData->ids->vertexArrayID);

	glGenBuffers(1, &m_vertexData->ids->vertexBuffer);
	glGenBuffers(1, &m_vertexData->ids->uvBuffer);
	glGenBuffers(1, &m_vertexData->ids->normalBuffer);
	glGenBuffers(1, &m_vertexData->ids->colorBuffer);
	glGenBuffers(1, &m_vertexData->ids->indexBuffer);
	GenerateVertexData();

	// assign the font shader from resourceManager.
	std::string font = "Font";
	m_fontShaderID = ResourceManager::GetInstance()->GetShader(&font);

	BindVertexData();
	UpdateVertexDataUV();

	return CS_ERR_NONE;
}
void NativeApplication::Initialize(float vertOffset, float rotStep)
{
	if (rotStep > 10.0f)
		throw NativeException("too big rotation step!");

	rotStep *= 2.0f * 3.14159265359f / 360.0f;
	AppInit(vertOffset, rotStep);
	GenerateVertexData();
}
Exemple #3
0
void MeshGLText::SetText(const string* text)
{
	int newLength = text->length();

	m_text = text;
	
	if (m_textLetterCount != newLength)
	{
		m_textLetterCount = newLength;
		GenerateVertexData();
		BindVertexData();
	}
	if (newLength <= m_textLetterCount)
	{
		m_textLetterCount = newLength;
	}
	UpdateVertexDataUV();
}
Exemple #4
0
unsigned int MeshGL::Initialize()
{
	m_vertexData = new VertexData;
	m_vertexData->data = new VertexDataRaw;
	m_vertexData->ids = new VertexDataID;

	// generate vertex data and vertex array
	GenerateVertexData();

	// setting up buffers

	glGenVertexArrays(1, &m_vertexData->ids->vertexArrayID);
	glBindVertexArray(m_vertexData->ids->vertexArrayID);

	glGenBuffers(1, &m_vertexData->ids->vertexBuffer);
	glBindBuffer(GL_ARRAY_BUFFER, m_vertexData->ids->vertexBuffer);
	glBufferData(GL_ARRAY_BUFFER, sizeof(m_vertexData->data->positionBuffer[0]) * m_vertexData->data->vertexCount, 
		m_vertexData->data->positionBuffer, GL_STATIC_DRAW);

	glGenBuffers(1, &m_vertexData->ids->uvBuffer);
	glBindBuffer(GL_ARRAY_BUFFER, m_vertexData->ids->uvBuffer);
	glBufferData(GL_ARRAY_BUFFER, sizeof(m_vertexData->data->uvBuffer[0]) * m_vertexData->data->vertexCount,
		m_vertexData->data->uvBuffer, GL_STATIC_DRAW);

	glGenBuffers(1, &m_vertexData->ids->normalBuffer);
	glBindBuffer(GL_ARRAY_BUFFER, m_vertexData->ids->normalBuffer);
	glBufferData(GL_ARRAY_BUFFER, sizeof(m_vertexData->data->normalBuffer[0]) * m_vertexData->data->vertexCount,
		m_vertexData->data->normalBuffer, GL_STATIC_DRAW);

	glGenBuffers(1, &m_vertexData->ids->colorBuffer);
	glBindBuffer(GL_ARRAY_BUFFER, m_vertexData->ids->colorBuffer);
	glBufferData(GL_ARRAY_BUFFER, sizeof(m_vertexData->data->colorBuffer[0]) * m_vertexData->data->vertexCount,
		m_vertexData->data->colorBuffer, GL_STATIC_DRAW);

	glGenBuffers(1, &m_vertexData->ids->indexBuffer);
	glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_vertexData->ids->indexBuffer);
	glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(m_vertexData->data->indexBuffer[0]) * m_vertexData->data->indexCount,
		m_vertexData->data->indexBuffer, GL_STATIC_DRAW);

	return CS_ERR_NONE;
}