問題タブ [glu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1432 参照

opengl - gluLookAt eyeZ が期待どおりに機能しない

gluLookAt の eyeZ 値に問題があります。

私が想像する方法は、カメラを遠くに移動して、視野内のオブジェクトを縮小するようなものです。

glDrawElements0、0、0 が宇宙の中心である 100x100x100 オルソを使用して、3D 空間で単純な形状を描画する単純なセットアップがあります。オブジェクトは 0, 0, 0 にあります。

マウスホイールをスクロールすると、オブジェクトが遠ざかったり近づいたりするようにしようとしています。これが glulookat の呼び出し方です。

ここで変わるのはeyeZだけです。

効果は奇妙です。約 10 秒間スクロールすると、オブジェクトの半分が突然消えます。そこからどんどん消えていきます。これはおそらく、カメラが 50 z の距離制限に向かっているためですが、オブジェクトが 3D 空間のようにスケーリングされない理由がわかりません。

センター値の仕組みを誤解しているのかもしれません。

私も適用しようとしdifferenceInMouseWheel()ましcenterZたが、それは何も変わりませんでした.中心値は、gluが方向を取得できるようにするためのものであり、それ以上のものではないと仮定します.

多分アップベクトルは変わるべきですか?現時点ではわかりません。

0 投票する
2 に答える
1386 参照

opengl - 「gluUnProject」からレイを取得する方法

私の基本的な質問は、「gluUnProject」を使用して、マウス/カーソルの位置からレイまたは法線ベクトルを取得する適切な方法は何ですか.

「gluUnProject」コードを mesa glu C コードから C# に変換しました。

次に、Camera オブジェクトからこのメソッドを呼び出します。

レイから法線ベクトルを取得するには、次のようにします。

LookAt ポイントを X 軸の 1 に移動し、X 軸と Y 軸でカメラを少し回転させるまで、すべて正常に動作します。その後、ベクトルは正しくなくなります。何が悪いのかわからない??

編集:詳しく見てみると、私の Matrix4.Invert メソッドが原因である可能性があります。行メジャーを使用しようとしていますが、アイデアはありますか?

0 投票する
1 に答える
2380 参照

c++ - OpenGL と gluLookAt を使用して球の周りを回転する

わかりましたので、C++ と OpenGL を使用してオブジェクトをクリック アンド ドラッグして回転させようとしています。私が持っている方法は、原点を中心に gluLookAt を使用することであり、球のパラメトリック方程式を使用して目の座標を取得しています (eyex = 2* cos(theta) * sin(phi); eyey = 2* sin( theta) * sin(phi); eyez = 2* cos(phi);)。クリックして水平方向に回転できるため、これはほとんど機能しますが、垂直方向に回転しようとすると、垂直方向に回転するのではなく、きつい円になります。カメラの位置と xz 平面に沿って 90 度の角度のベクトルを使用し、その外積をとることで、アップ ベクトルを取得しようとしています。私が持っているコードは次のとおりです。

私はこれに基づいていますが、うまくいかないので、代わりに自分のやり方を試しました。

0 投票する
1 に答える
14013 参照

c++ - OpenGL-glutInitDisplayMode()を説明する

次の行の設定によって提供される機能について詳しく説明してください。

これまでのところ、この行は、ダブルバッファー設定を要求し、RGBAウィンドウモードを設定し、深度バッファーを要求することによって表示モードを初期化することを知っていますが、これをより簡単に説明するにはどうすればよいですか。それぞれの議論を簡単な英語で説明したい

0 投票する
1 に答える
250 参照

opengl - OpenGLを理解している人向け

よくわかりません。私は OpenGL から始めようとしてきましたが、まったく成功していません。

詳細: とにかく厳密には公式の OpenGL 実装ではない Mesa 3D を使用しようとしているようです。Mesa 3D は GPU も使用しますか? 私はバージョン 4.0 を持っています (これは OpenGL バージョン 1.3 の実装のようなものです)。別の実装ライブラリを入手する方法がわかりません。他に何があるのか​​もわかりません。(Mesa 3D は私の dev-cpp コンパイラで提供されました)

実際、私は OpenGL が何であるかを完全には理解していません。

また、freeglut、glut、または glu を機能させることができません。gluOrtho や gluPerspective などの存在しない関数を呼び出しています。これは Mesa 3D を使用しているためですか?これらのライブラリ全体を実際に機能させる方法はありますか?

0 投票する
3 に答える
943 参照

qt - シリンダーが画面に表示されていません

さて、私がやろうとしているのは、GLUquadricObjとgluCylinderを使用して円柱を描画することです。円柱がOpenGLウィジェットに表示されていなくても、コードは正常にコンパイルされます。

シリンダーが表示されない原因は何ですか?

0 投票する
1 に答える
1335 参照

qt - ノートップとフィルgluCylinder()

ええと、私はgluCylinder()に問題があります、それは私に物事をさせません。私がやろうとしているのは、シリンダーにトップを付けずにシリンダーを埋めることです。

だから問題は、どうすればシリンダーにトップを付けないか(つまり、トップがない)、「トップ」パラメーターを変更しようとしましたが、成功しませんでした。 ?

0 投票する
2 に答える
291 参照

java - OpenGL マトリックスが正しく回転しない

よし、gluLookAt のコードを取得しました。

また、回転した立方体を描画しようとすると、正しく回転しません。

だから私の質問は、glulookatによって行われたマトリックスへの変更を適切に処理していますか? または私は何か間違っていますか?私が探している結果は、立方体を 0,0,0 に戻して回転させ、元の場所に戻すことです。

0 投票する
2 に答える
1003 参照

opengl - シリンダーの内部を見る

上にを付けて描くgluCylindergluDisk。カリングを有効にしないと、ふた効果のある目的の円柱が得られます。ただし、カリングを有効にすると、ディスク(別名リッド)が消えます。 何故ですか? これが主な質問です。さらに、カリングを有効にすると、円柱の背面も描画されません。なぜこれが起こっているのかわかりますが、それでもシリンダーの内側が描かれているのを見たいです。コードは次のとおりです。

0 投票する
1 に答える
4732 参照

c - gluCylinder()OpenGLのしくみ

OpenGLでクリケット場を作りたかったのです。フィールド、ピッチ、ボウリングのラインを示すために、いくつかのポリゴンを作成しました。しかし、問題は、gluCylinder深さを作成した切り株を作成するために使用しようとしているglEnable(GL_DEPTH_TEST)のに、ポリゴンが機能しないことです。gluCylinderを使用して、作成したポリゴンで切り株を作成する方法を知りたいだけです。

次のコードがありますが、ここに切り株を追加したいのですが、できません。