@@ -47,10 +47,8 @@ void TextRender::Init() | |||||
ivec2(256, 256), ivec2(1)); | ivec2(256, 256), ivec2(1)); | ||||
m_shader = Shader::Create(LOLFX_RESOURCE_NAME(text)); | m_shader = Shader::Create(LOLFX_RESOURCE_NAME(text)); | ||||
m_color = m_shader->GetAttribLocation("in_Attr", | |||||
VertexUsage::Color, 0); | |||||
m_char = m_shader->GetAttribLocation("in_Char", | |||||
VertexUsage::Color, 1); | |||||
m_color = m_shader->GetAttribLocation(VertexUsage::Color, 0); | |||||
m_char = m_shader->GetAttribLocation(VertexUsage::Color, 1); | |||||
#if !HAVE_SHADER_4 | #if !HAVE_SHADER_4 | ||||
m_vertexid = m_shader->GetAttribLocation("in_VertexID", | m_vertexid = m_shader->GetAttribLocation("in_VertexID", | ||||
VertexUsage::Position, 0); | VertexUsage::Position, 0); | ||||
@@ -5,10 +5,10 @@ | |||||
#define HAVE_SHADER_4 1 | #define HAVE_SHADER_4 1 | ||||
#if HAVE_SHADER_4 | #if HAVE_SHADER_4 | ||||
in uint in_Char, in_Attr; | |||||
in uint in_Color0, in_Color1; | |||||
#else | #else | ||||
attribute vec4 in_Char, in_Attr; | |||||
attribute float in_VertexID; | |||||
attribute vec4 in_Color0, in_Color1; | |||||
attribute float in_Position; | |||||
# define out varying | # define out varying | ||||
#endif | #endif | ||||
@@ -21,6 +21,15 @@ uniform mat4 u_Transform; | |||||
void main() | void main() | ||||
{ | { | ||||
#if HAVE_SHADER_4 | |||||
uint in_Attr = in_Color0; | |||||
uint in_Char = in_Color1; | |||||
#else | |||||
vec4 in_Attr = in_Color0; | |||||
vec4 in_Char = in_Color1; | |||||
float in_VertexID = in_Position; | |||||
#endif | |||||
#if HAVE_SHADER_4 | #if HAVE_SHADER_4 | ||||
float u = float(in_Char & 0xfu) / 32.0 + 0.0; | float u = float(in_Char & 0xfu) / 32.0 + 0.0; | ||||
float v = float((in_Char >> 4u) & 0xfu) / 32.0 + 0.5; | float v = float((in_Char >> 4u) & 0xfu) / 32.0 + 0.5; | ||||