小编Ash*_*Ash的帖子

OpenGL精灵以低质量绘制

我正在尝试使用opengl glsl和glm库渲染一个精灵.当我使用glBegin在遗留管道中渲染精灵时,glEnd一切都很好但是当我使用着色器时,旋转精灵后它的绘制质量非常差,如图所示:

http://sm.uploads.im/t/I3lpf.png

我的渲染代码:

GLuint p;
GLuint vertex_shader, fragment_shader;
GLuint VBO, VAO;
glm::mat4 projection_matrix = glm::ortho(0.0F, 640.0F, 480.0F, 0.0F, -1.0F, 1.0F);

void sprite_init()
{
    p = glCreateProgram();

    // LOAD VERTEX SHADER //
    std::ifstream vf("E:\\vertex.sh");
    std::stringstream vs;
    vs << vf.rdbuf();

    std::ifstream ff("E:\\fraqment.sh");
    std::stringstream fs;
    fs << ff.rdbuf();

    vertex_shader = glCreateShader(GL_VERTEX_SHADER);
    fragment_shader = glCreateShader(GL_FRAGMENT_SHADER);

    char* buffer = new char[vs.str().size() + 1];
    memcpy(buffer, vs.str().c_str(), vs.str().size() + 1);
    glShaderSource(vertex_shader, 1, &buffer, NULL);
    free(buffer);

    buffer = new char[fs.str().size() + 1];
    memcpy(buffer, fs.str().c_str(), fs.str().size() + 1); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl glsl glm-math

6
推荐指数
1
解决办法
155
查看次数

标签 统计

c++ ×1

glm-math ×1

glsl ×1

opengl ×1