小编Ped*_* GM的帖子

如何在OpenGL中将纹理设置为背景?

我想制作一个以空间纹理作为背景显示地球的程序.

  • 地球是具有地球纹理(.bmp)的3D制服.

  • 星星的空间是纹理(.bmp).

我总结了我要做的事情:

  • 创建一个新的模型矩阵
  • 将其放置在相机所在的位置
  • 在绘图前禁用深度测试
  • 反向剔除

这是加载功能:

     void load(){

    //Load The Shader
    Shader simpleShader("src/shader.vert", "src/shader.frag");
    g_simpleShader = simpleShader.program;

    // Create the VAO where we store all geometry (stored in g_Vao)
    g_Vao = gl_createAndBindVAO();

    //Create vertex buffer for positions, colors, and indices, and bind them to shader
    gl_createAndBindAttribute(&(shapes[0].mesh.positions[0]), shapes[0].mesh.positions.size() * sizeof(float), g_simpleShader, "a_vertex", 3);
    gl_createIndexBuffer(&(shapes[0].mesh.indices[0]), shapes[0].mesh.indices.size() * sizeof(unsigned int));
    gl_createAndBindAttribute(uvs, uvs_size, g_simpleShader, "a_uv", 2);
    gl_createAndBindAttribute(normal, normal_size, g_simpleShader, "a_normal", 2);

    //Unbind Everything
    gl_unbindVAO();

    //Store …
Run Code Online (Sandbox Code Playgroud)

c++ opengl visual-studio visual-studio-2017

2
推荐指数
1
解决办法
790
查看次数

标签 统计

c++ ×1

opengl ×1

visual-studio ×1

visual-studio-2017 ×1