Changeset 1481


Ignore:
Timestamp:
Jun 15, 2012, 2:40:55 PM (8 years ago)
Author:
sam
Message:

neercs: get rid of the fixed pipeline calls for the text rendering.

Location:
trunk/neercs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/neercs/neercs.cpp

    r1474 r1481  
    4545Neercs::Neercs()
    4646  : m_ready(false),
    47     m_caca(caca_create_canvas(43, 14)),
     47    m_caca(caca_create_canvas(47, 32)),
    4848    m_render(new Render(m_caca)),
    4949    m_time(0.f)
     
    8080    int x4 = 6 + 5 * cos(m_time * 2.f);
    8181    caca_set_color_ansi(m_caca, CACA_YELLOW, CACA_RED);
    82     caca_put_str(m_caca, x4, 12, "Le Caca C'Est Surpuissant \\:D/");
     82    caca_put_str(m_caca, x4, 25, "Le Caca C'Est Surpuissant \\:D/");
    8383
    8484    caca_put_str(m_caca, 0, 0, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
  • trunk/neercs/video/render.cpp

    r1477 r1481  
    4141#define DEBUG 1            // debug flag //#if defined(_DEBUG)
    4242#define SHADER 1           // shader flag
    43 #define FUCK 0             // test flag
    4443#define PI 3.1415926535f   // pi
    4544#define PID PI/180.0f      // pi ratio
     
    170169#endif
    171170
    172 #if FUCK
    173171/*
    174172 * Text rendering interface
     
    183181        for (int j = 0; j < m_height; j++)
    184182        for (int i = 0; i < m_width; i++)
    185             m_vertices << vec2(5.0 / 128.0 * i - 0.75, 0.5 - 0.0525 * j);
     183            m_vertices << vec2(5.1 / 128.0 * i - 0.91, 0.75 - 0.0525 * j);
    186184    }
    187185
     
    264262
    265263TextRender *text_render;
    266 #endif
    267264
    268265void init_viewport(int type)
     
    465462  : m_caca(caca)
    466463{
    467 #if FUCK
    468464    text_render = new TextRender(m_caca);
    469 #endif
    470465}
    471466
     
    484479        CreateGLWindow("LOL");
    485480        todo = 0;
    486 #if FUCK
    487481        text_render->Init();
    488 #endif
    489482    }
    490483
     
    535528    Draw2D();
    536529    Draw3D();
    537 
    538 #if FUCK
    539     text_render->Blit();
    540 #endif
    541530}
    542531
     
    556545    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    557546#endif
     547
     548    text_render->Blit();
    558549
    559550    glEnableClientState(GL_VERTEX_ARRAY);
     
    611602        glTexCoordPointer(2, GL_FLOAT, 0, shell_tex);
    612603        glDrawArrays(GL_QUADS, 0, 4);
    613 #if !FUCK
    614         // draw dos text
    615         glVertexPointer(2, GL_INT, 0, dos_vtx);
    616         float x = dos_m + font_size.x;
    617         float y = dos_m + (font_size.y*1.5f+3)*ratio_2d.y;
    618 
    619         /* background colors */
    620         glDisable(GL_TEXTURE_2D);
    621         for (int j = 0; j < caca_get_canvas_height(m_caca); j++)
    622         for (int i = 0; i < caca_get_canvas_width(m_caca); i++)
    623         {
    624             uint32_t att = caca_get_attr(m_caca, i, j);
    625 
    626             glLoadIdentity();
    627             glTranslated(x+i*font_size.x*ratio_2d.x, y+j*font_size.y*ratio_2d.y, 0);
    628 
    629             uint16_t bg = caca_attr_to_rgb12_bg(att);
    630             glColor3f((float)(bg >> 8) / 16.f,
    631                       (float)((bg & 0xf0) >> 4) / 16.f,
    632                       (float)(bg & 0xf) / 16.f);
    633             glDrawArrays(GL_QUADS, 0, 4);
    634         }
    635         glEnable(GL_TEXTURE_2D);
    636 
    637         /* Foreground characters */
    638         for (int j = 0; j < caca_get_canvas_height(m_caca); j++)
    639         for (int i = 0; i < caca_get_canvas_width(m_caca); i++)
    640         {
    641             uint32_t car = caca_get_char(m_caca, i, j);
    642             uint32_t att = caca_get_attr(m_caca, i, j);
    643 
    644             if (car <= 32 || car >= 127)
    645                 continue;
    646 
    647             glLoadIdentity();
    648             glTranslated(x+i*font_size.x*ratio_2d.x, y+j*font_size.y*ratio_2d.y, 0);
    649             vec2 uv((car%16)*car_size.x, (car-car%16)*1.0f/map_size.y/16*font_size.y);
    650             float dos_tex[]={uv.x+car_size.x, uv.y+0.5f+car_size.y, uv.x+car_size.x, uv.y+0.5f, uv.x, uv.y+0.5f, uv.x, uv.y+0.5f+car_size.y};
    651 
    652             glTexCoordPointer(2, GL_FLOAT, 0, dos_tex);
    653             uint16_t fg = caca_attr_to_rgb12_fg(att);
    654             glColor3f((float)(fg >> 8) / 16.f,
    655                       (float)((fg & 0xf0) >> 4) / 16.f,
    656                       (float)(fg & 0xf) / 16.f);
    657             // FIXME: draw cursor!
    658             //if(car==car_cursor) glColor3f(CR*(dos_color.r+64), CR*(dos_color.g+48), CR*(dos_color.b+48));
    659             glDrawArrays(GL_QUADS, 0, 4);
    660             //if(car==car_cursor) glColor3f(1.0f, 1.0f, 1.0f);
    661         }
    662 #endif
    663604    }
    664605    // draw corner
Note: See TracChangeset for help on using the changeset viewer.