Changeset 1477 for trunk/neercs/video/render.cpp
- Timestamp:
- Jun 14, 2012, 9:43:44 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/neercs/video/render.cpp
r1476 r1477 40 40 41 41 #define DEBUG 1 // debug flag //#if defined(_DEBUG) 42 #define SHADER 0// shader flag42 #define SHADER 1 // shader flag 43 43 #define FUCK 0 // test flag 44 44 #define PI 3.1415926535f // pi … … 183 183 for (int j = 0; j < m_height; j++) 184 184 for (int i = 0; i < m_width; i++) 185 m_vertices << vec2( 0.05 * i - 1.0, 0.5 - 0.09* j);185 m_vertices << vec2(5.0 / 128.0 * i - 0.75, 0.5 - 0.0525 * j); 186 186 } 187 187 … … 191 191 m_coord = m_shader->GetAttribLocation("in_Position", 192 192 VertexUsage::Position, 0); 193 m_color = m_shader->GetAttribLocation("in_ Color",193 m_color = m_shader->GetAttribLocation("in_Attr", 194 194 VertexUsage::Color, 0); 195 195 m_char = m_shader->GetAttribLocation("in_Char", … … 212 212 void Blit() 213 213 { 214 void *colors = m_vbo2->Lock(0, 0); 215 for (int j = 0; j < m_height; j++) 216 for (int i = 0; i < m_width; i++) 217 { 218 uint32_t attr = caca_get_attr(m_caca, i, j); 219 //printf("%i %i: %08x -> ", i, j, attr); 220 uint16_t fg = caca_attr_to_rgb12_fg(attr); 221 uint16_t bg = caca_attr_to_rgb12_bg(attr); 222 //printf("%04x %04x -> ", fg, bg); 223 caca_set_color_argb(m_caca, fg, bg); 224 attr = caca_get_attr(m_caca, -1, -1); 225 //printf("%08x\n", attr); 226 caca_put_attr(m_caca, i, j, attr); 227 } 214 uint32_t *colors = (uint32_t *)m_vbo2->Lock(0, 0); 215 for (int j = 0; j < m_height; j++) 216 for (int i = 0; i < m_width; i++) 217 { 218 uint32_t attr = caca_get_attr(m_caca, i, j); 219 uint16_t fg = caca_attr_to_rgb12_fg(attr); 220 uint16_t bg = caca_attr_to_rgb12_bg(attr); 221 caca_set_color_argb(m_caca, fg, bg); 222 attr = caca_get_attr(m_caca, -1, -1); 223 caca_put_attr(m_caca, i, j, attr); 224 uint32_t a2 = caca_get_attr(m_caca, i, j); 225 } 228 226 memcpy(colors, caca_get_canvas_attrs(m_caca), 229 227 m_width * m_height * sizeof(uint32_t)); 230 228 m_vbo2->Unlock(); 231 229 232 void *chars =m_vbo3->Lock(0, 0);230 uint32_t *chars = (uint32_t *)m_vbo3->Lock(0, 0); 233 231 memcpy(chars, caca_get_canvas_chars(m_caca), 234 232 m_width * m_height * sizeof(uint32_t)); … … 250 248 tex_map->Unbind(); 251 249 m_shader->Unbind(); 250 glDisable(GL_POINT_SPRITE); 252 251 } 253 252 … … 534 533 } 535 534 535 Draw2D(); 536 Draw3D(); 537 538 #if FUCK 539 text_render->Blit(); 540 #endif 541 } 542 543 void Render::Draw2D() 544 { 545 #if SHADER 546 if(shader_flag) 547 { 548 fbo_back->Bind(); 549 fbo_back->Clear(vec4(screen_color, 0.0f), 1.0f); 550 } 551 else 552 { 553 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); 554 } 555 #else 556 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); 557 #endif 558 536 559 glEnableClientState(GL_VERTEX_ARRAY); 537 560 glEnableClientState(GL_TEXTURE_COORD_ARRAY); 538 Draw2D();539 Draw3D();540 glDisableClientState(GL_VERTEX_ARRAY);541 glDisableClientState(GL_TEXTURE_COORD_ARRAY);542 #if FUCK543 text_render->Blit();544 #endif545 }546 547 void Render::Draw2D()548 {549 #if SHADER550 if(shader_flag)551 {552 fbo_back->Bind();553 fbo_back->Clear(vec4(screen_color, 0.0f), 1.0f);554 }555 else556 {557 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);558 }559 #else560 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);561 #endif562 561 563 562 glEnable(GL_BLEND); … … 612 611 glTexCoordPointer(2, GL_FLOAT, 0, shell_tex); 613 612 glDrawArrays(GL_QUADS, 0, 4); 613 #if !FUCK 614 614 // draw dos text 615 615 glVertexPointer(2, GL_INT, 0, dos_vtx); … … 660 660 //if(car==car_cursor) glColor3f(1.0f, 1.0f, 1.0f); 661 661 } 662 #endif 662 663 } 663 664 // draw corner … … 679 680 glEnable(GL_BLEND); 680 681 tex_map->Unbind(); 682 683 glDisableClientState(GL_VERTEX_ARRAY); 684 glDisableClientState(GL_TEXTURE_COORD_ARRAY); 681 685 } 682 686 … … 689 693 if (!shader_flag) 690 694 return; 695 696 glEnableClientState(GL_VERTEX_ARRAY); 697 glEnableClientState(GL_TEXTURE_COORD_ARRAY); 691 698 692 699 init_shader(); … … 804 811 draw_shader_simple(fbo_pong, 0); 805 812 } 813 814 glDisableClientState(GL_VERTEX_ARRAY); 815 glDisableClientState(GL_TEXTURE_COORD_ARRAY); 806 816 #endif 807 817 }
Note: See TracChangeset
for help on using the changeset viewer.