ユーザ用ツール

サイト用ツール


youtube:opengl-training-005

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
youtube:opengl-training-005 [2025/12/24 01:05] – [src/main.cpp] Comment out glfwTerminate call freemikanyoutube:opengl-training-005 [2026/06/06 22:38] (現在) – Replace std::exit with return in main freemikan
行 2: 行 2:
 {{ https://youtu.be/8sidpTb4mMk |YouTubeの動画ページ}} {{ https://youtu.be/8sidpTb4mMk |YouTubeの動画ページ}}
  
 +<note warning>
 +このプログラムにはglfwTerminateの後にOpenGLの関数が呼び出されてしまう致命的な欠陥があります。
 +もし参考にされる場合は、[[https://www.boost.org/doc/libs/latest/libs/scope/doc/html/index.html|Boost.Scope]]の導入を検討してください。
 +</note>
 ===== ソースコード ===== ===== ソースコード =====
 {{ :youtube:hellotriangle-simpleshader.zip |ダウンロード}} {{ :youtube:hellotriangle-simpleshader.zip |ダウンロード}}
行 188: 行 192:
         std::cerr << "Error: GLFW failed to create window\n" << std::endl;         std::cerr << "Error: GLFW failed to create window\n" << std::endl;
         glfwTerminate();         glfwTerminate();
-        std::exit(1);+        return EXIT_FAILURE;
     }     }
          
行 196: 行 200:
         std::cerr << "Error: glad failed to initialize OpenGL context\n";         std::cerr << "Error: glad failed to initialize OpenGL context\n";
         glfwTerminate();         glfwTerminate();
-        std::exit(1);+        return EXIT_FAILURE;
     }     }
          
行 206: 行 210:
         std::cerr << "Error: failed to setup shader program\n";         std::cerr << "Error: failed to setup shader program\n";
         glfwTerminate();         glfwTerminate();
-        std::exit(1);+        return EXIT_FAILURE;
     }     }
          
行 374: 行 378:
 ShaderObject::ShaderObject(ShaderObject &&other) noexcept ShaderObject::ShaderObject(ShaderObject &&other) noexcept
         : type_{other.type_}, name_{other.name_} {         : type_{other.type_}, name_{other.name_} {
-    type_ = 0;  // nothing? +    other.type_ = 0;  // nothing? 
-    name_ = 0;+    other.name_ = 0;
 } }
  
youtube/opengl-training-005.1766505954.txt.gz · 最終更新: by freemikan

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki