J3D draw string draw_back_face
Some checks failed
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 7m30s

This commit is contained in:
2024-09-05 11:50:12 -04:00
parent ff2a8ab787
commit d15b3f660d
4 changed files with 33 additions and 21 deletions

View File

@@ -144,12 +144,12 @@ namespace JGL {
glVertexPointer(2, GL_FLOAT, sizeof(GLfloat) * 2, vertices.data());
glTexCoordPointer(2, GL_FLOAT, sizeof(GLfloat) * 2, texcoords.data());
glDrawArrays(GL_TRIANGLES, 0, vertices.size() * 6);
glDrawArrays(GL_TRIANGLES, 0, (int) vertices.size() * 6);
glBindTexture(GL_TEXTURE_2D, 0);
glColor4f(1, 1, 1, 1);
}
void J3D::DrawString(const Color4& color, const std::string& text, const Vector3& pos, const Vector3& angle, float scale, u32 size, const Font& font) {
void J3D::DrawString(const Color4& color, const std::string& text, const Vector3& pos, float scale, u32 size, const Font& font, const EulerAngle& angle, bool draw_back_face) {
//TODO figure out what the scale should actually be mathematically.
scale = scale * 0.002f;
scale = -scale;
@@ -168,12 +168,11 @@ namespace JGL {
glPushMatrix();
glTranslatef(x, y, z);
glRotatef(angle.x, 1.0f, 0.0f, 0.0f);
glRotatef(angle.y, 0.0f, 1.0f, 0.0f);
glRotatef(angle.z, 0.0f, 0.0f, 1.0f);
x = 0;
y = 0;
z = 0;
glRotatef(angle.pitch, 1.0f, 0.0f, 0.0f);
glRotatef(angle.yaw, 0.0f, 1.0f, 0.0f);
glRotatef(angle.roll, 0.0f, 0.0f, 1.0f);
x = y = z = 0;
for (int i = 0; i < text.length(); i++)
{
@@ -197,6 +196,10 @@ namespace JGL {
float w = g->bitmap.width * scale;
float h = g->bitmap.rows * scale;
if (!draw_back_face)
glEnable(GL_CULL_FACE),
glCullFace(GL_BACK);
glBegin(GL_TRIANGLES);
glTexCoord2f(0, 0);
@@ -219,6 +222,9 @@ namespace JGL {
glEnd();
if (!draw_back_face)
glDisable(GL_CULL_FACE);
x += (g->advance.x >> 6) * scale;
y += (g->advance.y >> 6) * scale;
}