質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

Q&A

解決済

2回答

2246閲覧

OpenGL で球が表示されない

ruei

総合スコア284

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

0グッド

0クリップ

投稿2021/07/15 08:48

編集2021/07/15 08:49

OpenGL で球が表示されるコードを書いたつもりなのですが、何も表示されません。
解決策ありましたらご教示お願いします。

main.cpp ファイル

C++

1// 先頭と最後尾両方のポインタを持つキューの実装例 2#include <iostream> 3#include <math.h> 4#include "main.h" 5 6void setCamera(void) 7{ 8 glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); 9 glMatrixMode(GL_PROJECTION); 10 glLoadIdentity(); 11 gluPerspective(30.f, (GLdouble)WINDOW_WIDTH / (GLdouble)WINDOW_HEIGHT, 0.1f, 100.f); 12 glMatrixMode(GL_MODELVIEW); 13 glLoadIdentity(); 14 gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0); 15} 16 17void display(void) 18{ 19 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 20 setCamera(); 21 22 glEnable(GL_LIGHTING); 23 glEnable(GL_LIGHT0); 24 glutSolidSphere(1, 100, 100); 25 glDisable(GL_LIGHT0); 26 glDisable(GL_LIGHTING); 27 glutSwapBuffers(); 28} 29 30int main(int argc, char** argv) 31{ 32 glutInit(&argc, argv); 33 glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE); 34 glutInitWindowSize(WINDOW_WIDTH, WINDOW_HEIGHT); 35 glutCreateWindow("OpenGL Based Renderer"); 36 glClearColor(0, 0, 0, 0); 37 glEnable(GL_DEPTH_TEST); 38 glDepthFunc(GL_LESS); 39 glutDisplayFunc(display); 40 glutMainLoop(); 41 return 0; 42}

main.h ファイル 

C++

1#pragma once 2#include <iostream> 3#include <math.h> 4#include <GL/glut.h> 5 6const int WINDOW_WIDTH = 512; 7const int WINDOW_HEIGHT = 512; 8 9void setCamera(void); 10 11void display(void);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

解決策ありましたらご教示お願いします

そのコードを詳しく見たりしたわけではないですが,
「表示されない」という場合,例えば以下のようないくつかの原因が思いつきます.

  • 関数 display が実施されていないのではないか?

→この関数内にprintfでも仕込んでみる

  • ライティングの問題ではないか?

→一旦ライティングをOFFにしてみる

  • 実は描画されているけども,背景色と同じとかで見えないだけとか?

→背景色を今とは全く違うものに変えてみる

  • そもそも視野内にオブジェクトが入ってないとか,遠すぎてめっちゃ小さいだけとか,etc

→gluPerspective とか gluLookAt を使わない素の世界で試してみる
→オブジェクトの場所やサイズを変えてみる

  • glutSolidSphereが,なんかわからんけどダメ?

→かわりに自前で三角形でも配置してみる

等々,どんな原因があり得るのか? を考えて,それを1つ1つ確かめてください.
(既に確かめたことがあるならば,質問文に明記してください)

投稿2021/07/15 09:24

fana

総合スコア11996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

すみません、再度実行したら、描画されました。

投稿2021/07/15 09:58

ruei

総合スコア284

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問