add ScreenSaver.draw_letter()
This commit is contained in:
parent
241c66e56c
commit
b425c9b8d2
@ -7,6 +7,9 @@ import glamour.vbo;
|
|||||||
import gl3n.linalg;
|
import gl3n.linalg;
|
||||||
static import logo;
|
static import logo;
|
||||||
|
|
||||||
|
immutable int N_GENTEX = 6;
|
||||||
|
immutable int N_CORPORATION = 11;
|
||||||
|
|
||||||
class ScreenSaver
|
class ScreenSaver
|
||||||
{
|
{
|
||||||
protected int m_width;
|
protected int m_width;
|
||||||
@ -20,7 +23,6 @@ class ScreenSaver
|
|||||||
|
|
||||||
protected void init()
|
protected void init()
|
||||||
{
|
{
|
||||||
logo.init();
|
|
||||||
glClearColor (0.0, 0.0, 0.0, 0.0);
|
glClearColor (0.0, 0.0, 0.0, 0.0);
|
||||||
glViewport(0, 0, m_width, m_height);
|
glViewport(0, 0, m_width, m_height);
|
||||||
immutable string shader_src = `
|
immutable string shader_src = `
|
||||||
@ -45,6 +47,20 @@ class ScreenSaver
|
|||||||
m_color_idx = m_program.get_uniform_location("color");
|
m_color_idx = m_program.get_uniform_location("color");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void draw_letter(int word, int character)
|
||||||
|
{
|
||||||
|
float color[] =
|
||||||
|
(word == logo.GENTEX)
|
||||||
|
? [0.0, 93.0/255.0, 171.0/255.0]
|
||||||
|
: [187.0/255.0, 188.0/255.0, 190.0/255.0];
|
||||||
|
glUniform3fv(m_color_idx, 1, color.ptr);
|
||||||
|
logo.draw(logo.FACE, word, character, m_position_idx);
|
||||||
|
|
||||||
|
color = [1.0, 1.0, 1.0];
|
||||||
|
glUniform3fv(m_color_idx, 1, color.ptr);
|
||||||
|
logo.draw(logo.WIRE, word, character, m_position_idx);
|
||||||
|
}
|
||||||
|
|
||||||
protected void display()
|
protected void display()
|
||||||
{
|
{
|
||||||
mat4 view_matrix;
|
mat4 view_matrix;
|
||||||
@ -58,30 +74,14 @@ class ScreenSaver
|
|||||||
m_program.bind();
|
m_program.bind();
|
||||||
glUniformMatrix4fv(m_view_idx, 1, GL_TRUE, view_matrix.value_ptr);
|
glUniformMatrix4fv(m_view_idx, 1, GL_TRUE, view_matrix.value_ptr);
|
||||||
|
|
||||||
float[] color = [0.0, 93.0/255.0, 171.0/255.0];
|
for (int i = 0; i < N_GENTEX; i++)
|
||||||
glUniform3fv(m_color_idx, 1, color.ptr);
|
|
||||||
for (int i = 0; i < 6; i++)
|
|
||||||
{
|
{
|
||||||
logo.draw(logo.FACE, logo.GENTEX, i, m_position_idx);
|
draw_letter(logo.GENTEX, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
color = [187.0/255.0, 188.0/255.0, 190.0/255.0];
|
for (int i = 0; i < N_CORPORATION; i++)
|
||||||
glUniform3fv(m_color_idx, 1, color.ptr);
|
|
||||||
for (int i = 0; i < 11; i++)
|
|
||||||
{
|
{
|
||||||
logo.draw(logo.FACE, logo.CORPORATION, i, m_position_idx);
|
draw_letter(logo.CORPORATION, i);
|
||||||
}
|
|
||||||
|
|
||||||
color = [1.0, 1.0, 1.0];
|
|
||||||
glUniform3fv(m_color_idx, 1, color.ptr);
|
|
||||||
for (int i = 0; i < 6; i++)
|
|
||||||
{
|
|
||||||
logo.draw(logo.WIRE, logo.GENTEX, i, m_position_idx);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < 11; i++)
|
|
||||||
{
|
|
||||||
logo.draw(logo.WIRE, logo.CORPORATION, i, m_position_idx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_GL_SwapWindow(m_window);
|
SDL_GL_SwapWindow(m_window);
|
||||||
@ -123,6 +123,8 @@ class ScreenSaver
|
|||||||
DerelictGL3.reload();
|
DerelictGL3.reload();
|
||||||
|
|
||||||
SDL_ShowCursor(0);
|
SDL_ShowCursor(0);
|
||||||
|
|
||||||
|
logo.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void run()
|
void run()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user