問題タブ [orthographic]

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 に答える
4197 参照

android - OpenGL ES 2.0 (Android) での 2D レンダリング (具体的には行列)

そのため、それぞれ異なる場所にある 2 つの移動クワッドをレンダリングしようとしています。私のシェーダーは可能な限りシンプルです (頂点はモデルビュー投影マトリックスによってのみ変換され、色は 1 つだけです)。

何かをレンダリングしようとすると、色の断片だけになってしまいます。私は以前に OpenGL で 3D レンダリングを行ったことがあるだけなので、2D のものに問題があります。

これが私の基本的なレンダリング ループで、少し単純化されています (私は によって提供される Matrix 操作メソッドを使用しておりandroid.opengl.Matrixprogramこれは私が作成したカスタム クラスで、 を呼び出すだけですGLES20.glUniformMatrix4fv())。

この時点で、クワッドをレンダリングします (これはクワッドごとに繰り返されます)。

そして、私が見るのは、各クワッドの色のスライバーだけです! 私はここで頭がいっぱいです。考えられることはすべて試しましたが、コンピューターに向かって叫び、部屋の向こう側に電話を放り投げているところです。誰かがポインタを持っていますか?ortho を間違って使用していますか? すべてを Z 値 0 でレンダリングしていることは 100% 確信しています。 のfrustumM代わりに を使用しorthoMてみました。フラスタムがどのように機能するかを正しく理解してください (とにかく、3D レンダリングに適しています)。

違いがある場合は、ビューポートを次のように定義しました

windowWidthとは、 orthoMwindowHeightに渡される同じ値です。

編集:android.opengl.Matrix複数の行列を1つの配列に押し込むことができるように、メソッドが2番目のパラメータとしてオフセットを受け取ることに0注意する価値があるかもしれません。

別の編集:参考までに、これが私の頂点シェーダーコードです:

さらに別の編集:交換しようとProjection * ModelViewしましModelView * Projectionたが、今では本当にファンキーな形になっています...

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

ios - ios opengl es 2.0、オルソを適用すると長方形が正方形になりません

私はopengl es 2.0を学んでいます。opengl es 2.0 でオルソ投影を適用しようとしています。正方形を描画しますが、実際には画面に正方形が表示されません。そして、どの部分が欠けているのかわからない。ご協力ありがとうございました!setupRenderingEnv には投稿していないメソッドがいくつかあります。しかし、これらの方法はフレームを設定するためのものであり、正常に機能します。m_program は正常に作成されます。繰り返しますが、あなたの助けに感謝します。

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

scroll - libGDX: カメラを移動するスプライトに向けるにはどうすればよいですか?

私はlibGDXとAndroidゲーム開発に不慣れです。そして、これを達成したい: ScreenX 軸に沿って移動するボール スプライトとその中にあります。ここで、スプライトが移動するときに、ビューポートをスプライトの中央に配置したいと考えています。カメラが空を横切って飛んでいる鳥を追うAngry Birdsのように。

を使用してゲーム内でそれを実装するにはどうすればよいOrthographicCameraですか?

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

unity3d - DirectionalLightコンポーネントが照らされていないGameObject

Unity3DとVuforiaを使用して拡張現実アプリケーションを実行しています。
拡張現実シーンのgameObjectごとに、Lightコンポーネントを追加し、DirectionalLightとして定義します。このシーンでは、gameObjectsは照らされていますが、別のシーンに変更すると(gameObjectsを破壊しないで)、照らされません。
すでに確認しましたが、まだライトコンポーネントがありますが、何らかの理由で照らされていません。
何が問題なのか、何か手がかりはありますか?

PS:2番目のシーンは、電話のカメラとの相互作用のない通常のシーンです。そして、カメラの投影は正書法です。

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

textures - 正射投影を使用した JOGL シーンのホワイト ボックス

JOGL 2.0 の最新バージョンを使用しています

私のシーンは正射投影で設定されており、シーンの下部にテクスチャを追加しようとしています。テクスチャは 1600 x 100 の PNG ファイルです。

1000 x 1000 の PNG ファイルを使用するとテクスチャは正常にレンダリングされますが、1600 x 100 のテクスチャを使用すると白いボックスが表示されます。

を使用して正投影を設定しました

を使用してテクスチャをロードしています

を使用してテクスチャを描画しています

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

opengl - OpenGL 3.0+でモデル空間から正投影ビューに移動するには?

最近、OpenGL でいくつかの例を完成させた結果、空間-1 >= x <= 1にいくつかの三角形を描画しました-1 >= y <= 1。正投影ビューに移動するにはどうすればよいですか? どの変換を実行する必要がありますか? 結果の変換が均一変数として頂点シェーダーに設定され、着信頂点に適用されると想定しています。

ビューのスケールとしてピクセル (つまり 1024x768) を使用するか、論理単位 (ピクセル x1000 など) を使用するのが賢明ですか?

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

opengl - GL_LINE_STRIP を使用した OpenGL 正投影スケッチ

ポイントリストにない原点に余分なポイントを追加しているように見えるという点で、スケッチした線を画面に描画するときにopenGLに問題があります。

画像

(0,0) は、描画される配列にあるポイントには絶対にありません。理由がわかりません。おそらく私の配列サイズが大きすぎるか何かだと思いますが、それを見ることができません

配列と描画呼び出しを設定するための私のコードは次のとおりです

ここで、マウスのコールバックにポイントを追加しています

最後に、私のシンプルなオルソ頂点シェーダー

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

c - glOrthoからgluPerspectiveに切り替えます

私は(0,0)で車を引き、いくつかの障害物を設定していますが、現在の私の主な関心事はglPerspectiveからglOrthoに、またはその逆に切り替えることです。パースペクティブからオルソに切り替えたときに得られるのは、黒い画面だけです。

クリアデプスバッファを使用しようとしましたが、まだ機能しません。

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

math - 画面左下を原点とする正射投影

私はpython OpenGLバインディングを使用しており、最新のopengl呼び出しのみを使用しようとしています。頂点を持つ VBO があり、頂点シェーダーに渡された正投影行列を使用してレンダリングしようとしています。

現在、次の値を使用して射影行列を計算しています。

私がここから得たそのコード:

正射影行列の式?

これで問題ないようですが、Origin を画面の左下隅に配置したいと思います。これは、マトリックスに適用できる関数なので、すべてが「うまく機能する」のでしょうか、それともすべてのオブジェクトを w/2 h/2 で手動で変換する必要がありますか?

補足:これが正しく機能すると、座標はピクセル位置と一致しますか?

私は最新の OpenGL 技術を使用しているため、gluOrtho2d または GL_PROJECTION 呼び出しを使用する必要はないと思います。

0 投票する
0 に答える
110 参照

opengl - 頂点シェーダーの直交遠近法、原点は左下

画面の左下隅に位置 0,0 を指定して、正射影でシーンを表示しようとしています。これまでのところ、直交投影が機能するようになりましたが、(glViewport を使用して) 原点を移動しようとすると、画面レンダリングの 4 分の 1 しか得られません。

これが私のコードです

http://pastebin.com/BUSuy9fs

誰でも助けることができますか?