Changeset 1627
- Timestamp:
- Jul 11, 2012, 8:29:22 PM (11 years ago)
- Location:
- trunk/tools/neercs/video
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/neercs/video/text-render.cpp
r1561 r1627 37 37 m_cells(m_canvas_size.x * m_canvas_size.y) 38 38 { 39 for (int j = 0; j < m_canvas_size.y; j++)40 for (int i = 0; i < m_canvas_size.x; i++)41 m_vertices << vec2(i, j);42 39 } 43 40 … … 61 58 VertexStream<uint32_t>(VertexUsage::Color)); 62 59 63 m_vbo1 = new VertexBuffer(m_vertices.Bytes()); 64 void *vertices = m_vbo1->Lock(0, 0); 65 memcpy(vertices, &m_vertices[0], m_vertices.Bytes()); 60 CreateBuffers(); 61 } 62 63 void TextRender::CreateBuffers() 64 { 65 m_vbo1 = new VertexBuffer(m_cells * sizeof(vec2)); 66 vec2 *vertices = (vec2 *)m_vbo1->Lock(0, 0); 67 for (int j = 0; j < m_canvas_size.y; j++) 68 for (int i = 0; i < m_canvas_size.x; i++) 69 vertices[j * m_canvas_size.x + i] = vec2(i, j); 66 70 m_vbo1->Unlock(); 67 71 … … 74 78 void TextRender::Render() 75 79 { 80 /* Handle canvas size changes */ 81 ivec2 current_size(caca_get_canvas_width(m_caca), 82 caca_get_canvas_height(m_caca)); 83 if (current_size != m_canvas_size) 84 { 85 delete m_vbo1; 86 delete m_vbo2; 87 delete m_vbo3; 88 delete m_fbo; 89 90 m_canvas_size = current_size; 91 m_fbo_size = m_font_size * m_canvas_size; 92 m_cells = m_canvas_size.x * m_canvas_size.y; 93 94 CreateBuffers(); 95 } 96 76 97 /* Transform matrix for the scene: 77 98 * - translate to the centre of the glyph -
trunk/tools/neercs/video/text-render.h
r1503 r1627 14 14 15 15 private: 16 void CreateBuffers(); 17 16 18 caca_canvas_t *m_caca; 17 19 ivec2 m_font_size, m_canvas_size, m_fbo_size; 18 20 int m_cells; 19 21 20 Array<vec2> m_vertices;21 22 TileSet *m_font; 22 23 Shader *m_shader;
Note: See TracChangeset
for help on using the changeset viewer.