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(); }
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(); }
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; }