回答編集履歴
1
修正したコードを追記
    
        answer	
    CHANGED
    
    | 
         @@ -10,4 +10,83 @@ 
     | 
|
| 
       10 
10 
     | 
    
         
             
            }
         
     | 
| 
       11 
11 
     | 
    
         
             
            ```
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            ではどうでしょうか。なにか他にエラーが発生するようでしたらコメントいただけると助かります。
         
     | 
| 
      
 13 
     | 
    
         
            +
            ではどうでしょうか。なにか他にエラーが発生するようでしたらコメントいただけると助かります。
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            #追記
         
     | 
| 
      
 16 
     | 
    
         
            +
            下記部分を変更してみたところ...
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            **main**
         
     | 
| 
      
 19 
     | 
    
         
            +
            ```C++
         
     | 
| 
      
 20 
     | 
    
         
            +
            // 省略
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            bool readShaderSource(const char *name, std::vector<GLchar> &buffer)
         
     | 
| 
      
 23 
     | 
    
         
            +
            {
         
     | 
| 
      
 24 
     | 
    
         
            +
            	// 省略
         
     | 
| 
      
 25 
     | 
    
         
            +
            	
         
     | 
| 
      
 26 
     | 
    
         
            +
            	// 最後にストリームを閉じて戻る部分が欠落していたようなので追加しました
         
     | 
| 
      
 27 
     | 
    
         
            +
            	file.close();
         
     | 
| 
      
 28 
     | 
    
         
            +
            	return true;
         
     | 
| 
      
 29 
     | 
    
         
            +
            }
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            // 省略
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            // 頂点位置の順序を逆Z字形に変更
         
     | 
| 
      
 34 
     | 
    
         
            +
            Object::Vertex vertex[] = {
         
     | 
| 
      
 35 
     | 
    
         
            +
            	0.5f, 0.5f,
         
     | 
| 
      
 36 
     | 
    
         
            +
            	-0.5f, 0.5f,
         
     | 
| 
      
 37 
     | 
    
         
            +
            	0.5f, -0.5f,
         
     | 
| 
      
 38 
     | 
    
         
            +
            	-0.5f, -0.5f,
         
     | 
| 
      
 39 
     | 
    
         
            +
            };
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            // UVの順序を逆Z字形に変更
         
     | 
| 
      
 42 
     | 
    
         
            +
            Object::Vertex uv[] = {
         
     | 
| 
      
 43 
     | 
    
         
            +
            	1.0f, 0.0f,
         
     | 
| 
      
 44 
     | 
    
         
            +
            	0.0f, 0.0f,
         
     | 
| 
      
 45 
     | 
    
         
            +
            	1.0f, 1.0f,
         
     | 
| 
      
 46 
     | 
    
         
            +
            	0.0f, 1.0f,
         
     | 
| 
      
 47 
     | 
    
         
            +
            };
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            // 省略
         
     | 
| 
      
 50 
     | 
    
         
            +
            ```
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            **Object**
         
     | 
| 
      
 53 
     | 
    
         
            +
            ```C++
         
     | 
| 
      
 54 
     | 
    
         
            +
            	// 省略
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            	Object(GLint size, GLsizei vertexcount, const Vertex *vertex, const GLuint program, const Vertex *uv, std::string texname)
         
     | 
| 
      
 57 
     | 
    
         
            +
            	{
         
     | 
| 
      
 58 
     | 
    
         
            +
            		// 省略
         
     | 
| 
      
 59 
     | 
    
         
            +
            		
         
     | 
| 
      
 60 
     | 
    
         
            +
            		glBindBuffer(GL_ARRAY_BUFFER, vbo[1]);
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
            		// 2 * sizeof(Vertex)をvertexcount * sizeof(Vertex)に変更
         
     | 
| 
      
 63 
     | 
    
         
            +
            		glBufferData(GL_ARRAY_BUFFER, vertexcount * sizeof(Vertex), uv, GL_STATIC_DRAW);
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            		int uvLocation = glGetAttribLocation(program, "uv");
         
     | 
| 
      
 66 
     | 
    
         
            +
            		glVertexAttribPointer(uvLocation, 2, GL_FLOAT, GL_FALSE, 0, 0);
         
     | 
| 
      
 67 
     | 
    
         
            +
            		
         
     | 
| 
      
 68 
     | 
    
         
            +
            		// 省略
         
     | 
| 
      
 69 
     | 
    
         
            +
            	}
         
     | 
| 
      
 70 
     | 
    
         
            +
            	
         
     | 
| 
      
 71 
     | 
    
         
            +
            	// 省略
         
     | 
| 
      
 72 
     | 
    
         
            +
            ```
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            **Shape**
         
     | 
| 
      
 75 
     | 
    
         
            +
            ```C++
         
     | 
| 
      
 76 
     | 
    
         
            +
            	// 省略
         
     | 
| 
      
 77 
     | 
    
         
            +
            	
         
     | 
| 
      
 78 
     | 
    
         
            +
            	virtual void execute() const
         
     | 
| 
      
 79 
     | 
    
         
            +
            	{
         
     | 
| 
      
 80 
     | 
    
         
            +
            		// 折れ線で描画する
         
     | 
| 
      
 81 
     | 
    
         
            +
            		glBindTexture(GL_TEXTURE_2D, object->texID);
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            		// GL_LINE_LOOPをGL_TRIANGLE_STRIPに変更
         
     | 
| 
      
 84 
     | 
    
         
            +
            		glDrawArrays(GL_TRIANGLE_STRIP, 0, vertexcount);
         
     | 
| 
      
 85 
     | 
    
         
            +
            	}
         
     | 
| 
      
 86 
     | 
    
         
            +
            	
         
     | 
| 
      
 87 
     | 
    
         
            +
            	// 省略
         
     | 
| 
      
 88 
     | 
    
         
            +
            ```
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            下図のような描画結果が得られました。
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            
         
     |