OpenGLを使用して画面に三角形を表示するにはどうすればよいですか?

デビッド

OpenGLを使用して画面に三角形を表示しようとしていますが、コードを実行すると黒い画面が表示されます

私は現在、インターネットで見つけたガイドを使用しています(リンクは次のとおりです:http//www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/)。

これはコードです:

#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

int larghezza = 1024;
int altezza = 768;

int main (){
    glewExperimental = true;
    if (!glfwInit() )
    {
        fprintf (stderr, "non è stato possibile inizzializzare glfw\n");
        return -1;
    }
    glfwWindowHint(GLFW_SAMPLES, 4);// 4x antialiasing
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);// utilizza OpenGL 4.1
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);//NON VOGLIO VECCHIE VERSIONI DI OPENGL

    GLFWwindow* window; // crea una finestra
    window = glfwCreateWindow(larghezza, altezza, "FINESTRA 1", NULL, NULL);
    if (!window){
        fprintf (stderr, "Non è stato possibile aprire la finestra!\n");
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window); //inizzializza GLEW
    glewExperimental = true;
    if (glewInit() != GLEW_OK){
        fprintf (stderr, "non è stato possibile inizzializzare GLEW");
        return -1;
    }

    glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE);

    do {
        glClear(GL_COLOR_BUFFER_BIT);



        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    while( glfwGetKey(window, GLFW_KEY_ESCAPE ) != GLFW_PRESS &&
          glfwWindowShouldClose(window) == 0 );

    GLuint VertexArrayID;
    glGenVertexArrays(1, &VertexArrayID);
    glBindVertexArray(VertexArrayID);
    static const GLfloat g_vertex_buffer_data[] = {
        -1.0f, -1.0f, 0.0f,
        1.0f, -1.0f, 0.0f,
        0.0f,  1.0f, 0.0f,
    };
    GLuint vertexbuffer;
    // Generate 1 buffer, put the resulting identifier in vertexbuffer
    glGenBuffers(1, &vertexbuffer);
    // The following commands will talk about our 'vertexbuffer' buffer
    glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
    // Give our vertices to OpenGL.
    glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);
    glEnableVertexAttribArray(0);
    glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
    glVertexAttribPointer(
                          0,                  // attribute 0. No particular reason for 0, but must match the layout in the shader.
                          3,                  // size
                          GL_FLOAT,           // type
                          GL_FALSE,           // normalized?
                          0,                  // stride
                          (void*)0            // array buffer offset
                          );
    // Draw the triangle !
    glDrawArrays(GL_TRIANGLES, 0, 3); // Starting from vertex 0; 3 vertices total -> 1 triangle
    glDisableVertexAttribArray(0);
}

どうすれば修正できますか?

user3389943

glDrawArrays()呼び出しは、メインのレンダリングイベントループ内にある必要があります。特にdo {}ブロック内。

質問:do {}ループ内にあるときに描画呼び出しが呼び出されない場合、このコードがレンダリングされるのはなぜですか?

Escapeボタンを押すと、描画されますが、非表示のバッファに格納されます。非表示のバッファは、描画が完了すると基本的に画面にスワップされます。glDrawArrays()の呼び出し後にスワップしないため、表示されることはありません。

使用しているチュートリアルサイトがわかりません

ただし、このサイト(learnopengl.com)のような適切なチュートリアルをお勧めします。はじめにのセクションを通過するだけでも、良いイントロには十分です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaFXを使用して三角形を作成するにはどうすればよいですか?

分類Dev

三角形の位置を計算して作成するにはどうすればよいですか?

分類Dev

OpenGLで三角形を回転させるにはどうすればよいですか?

分類Dev

下の三角形だけをggpairsで表示するにはどうすればよいですか?

分類Dev

三角形の配列を外に出して使用できるようにするにはどうすればよいですか

分類Dev

forループを使用してJavaで後方三角形を作成するにはどうすればよいですか?

分類Dev

三角形の内側に境界線を作成するにはどうすればよいですか?

分類Dev

配列を特定の三角形に印刷するにはどうすればよいですか?

分類Dev

下部に全幅の三角形を作成するにはどうすればよいですか?

分類Dev

外部ライブラリなしでPythonを使用して三角形の外心円を見つけるにはどうすればよいですか?

分類Dev

Javascript Mathライブラリを使用して直角三角形の角度を計算するにはどうすればよいですか?

分類Dev

html、svgを使用してクリック可能な三角形のグリッドを作成するにはどうすればよいですか?

分類Dev

SQLのストアドプロシージャを使用して星の三角形を作成するにはどうすればよいですか?

分類Dev

cssのみを使用して三角形のdivを作成するにはどうすればよいですか?

分類Dev

PL / SQLを使用して星の三角形を印刷するにはどうすればよいですか。

分類Dev

UWPで三角形ボタンを実行するにはどうすればよいですか?

分類Dev

2の累乗を三角形で印刷するにはどうすればよいですか?

分類Dev

三角形のQWidgetを作成するにはどうすればよいですか?

分類Dev

正三角形の座標を計算するにはどうすればよいですか?

分類Dev

正三角形の座標を計算するにはどうすればよいですか?

分類Dev

pygameで三角形の中点を見つけて、それを繰り返し実行してシェルピンスキーの三角形を作成するにはどうすればよいですか?

分類Dev

このコードに追加して、arduinoで完全な三角形を印刷するにはどうすればよいですか?

分類Dev

三角形のサイズを小さくして位置を変更するにはどうすればよいですか?

分類Dev

Rで三角形メッシュをインポートしてプロットするにはどうすればよいですか?

分類Dev

右の境界線としてレスポンシブ三角形を作成するにはどうすればよいですか?

分類Dev

三角形関数を再帰的に書くにはどうすればよいですか?

分類Dev

6つの三角形のSCNNodeで六角形を作成するにはどうすればよいですか?

分類Dev

6つの三角形のSCNNodeで六角形を作成するにはどうすればよいですか?

分類Dev

6つの三角形のSCNNodeで六角形を作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    JavaFXを使用して三角形を作成するにはどうすればよいですか?

  2. 2

    三角形の位置を計算して作成するにはどうすればよいですか?

  3. 3

    OpenGLで三角形を回転させるにはどうすればよいですか?

  4. 4

    下の三角形だけをggpairsで表示するにはどうすればよいですか?

  5. 5

    三角形の配列を外に出して使用できるようにするにはどうすればよいですか

  6. 6

    forループを使用してJavaで後方三角形を作成するにはどうすればよいですか?

  7. 7

    三角形の内側に境界線を作成するにはどうすればよいですか?

  8. 8

    配列を特定の三角形に印刷するにはどうすればよいですか?

  9. 9

    下部に全幅の三角形を作成するにはどうすればよいですか?

  10. 10

    外部ライブラリなしでPythonを使用して三角形の外心円を見つけるにはどうすればよいですか?

  11. 11

    Javascript Mathライブラリを使用して直角三角形の角度を計算するにはどうすればよいですか?

  12. 12

    html、svgを使用してクリック可能な三角形のグリッドを作成するにはどうすればよいですか?

  13. 13

    SQLのストアドプロシージャを使用して星の三角形を作成するにはどうすればよいですか?

  14. 14

    cssのみを使用して三角形のdivを作成するにはどうすればよいですか?

  15. 15

    PL / SQLを使用して星の三角形を印刷するにはどうすればよいですか。

  16. 16

    UWPで三角形ボタンを実行するにはどうすればよいですか?

  17. 17

    2の累乗を三角形で印刷するにはどうすればよいですか?

  18. 18

    三角形のQWidgetを作成するにはどうすればよいですか?

  19. 19

    正三角形の座標を計算するにはどうすればよいですか?

  20. 20

    正三角形の座標を計算するにはどうすればよいですか?

  21. 21

    pygameで三角形の中点を見つけて、それを繰り返し実行してシェルピンスキーの三角形を作成するにはどうすればよいですか?

  22. 22

    このコードに追加して、arduinoで完全な三角形を印刷するにはどうすればよいですか?

  23. 23

    三角形のサイズを小さくして位置を変更するにはどうすればよいですか?

  24. 24

    Rで三角形メッシュをインポートしてプロットするにはどうすればよいですか?

  25. 25

    右の境界線としてレスポンシブ三角形を作成するにはどうすればよいですか?

  26. 26

    三角形関数を再帰的に書くにはどうすればよいですか?

  27. 27

    6つの三角形のSCNNodeで六角形を作成するにはどうすればよいですか?

  28. 28

    6つの三角形のSCNNodeで六角形を作成するにはどうすればよいですか?

  29. 29

    6つの三角形のSCNNodeで六角形を作成するにはどうすればよいですか?

ホットタグ

アーカイブ