タグ付けされた質問 「c++」

1
GLMでベクターの長さを取得する
GLMライブラリがどのように動作しているか、または不適切に使用しています。 glm::vec2 testVec(6,-4); float len = testVec.length(); 2上記のコードスニペットで値を取得します。で定義されたベクトルの長さを取得しようとしていますtestVec。あなたはそれがベクトルの正しい長さではないことをよく知っています。ここで何が欠けていますか?
14 c++  vectors  glm 

4
投影されたグリッド水面の詳細
私はC ++とDirectX11で海のシーンを実装しようとしています。現在、投影されたグリッド、ガーストナー波、基本的なシェーディングがあります。私の問題は、カメラを水平に向けると、水平線が遠くに見えるので、高い頂点数であっても投影されたグリッドが不十分になることです。これらのスクリーンショットは問題を示しています: 私は問題の原因が投影されたグリッドの概念にあることを知っています(グリッドはカメラの近くに詳細であり、それから大まかに離れています)が、これを解決するにはベストプラクティスが必要です。 何か案は?

1
「makeContextCurrent」は正確に何をしますか?
私はその機能についてかなり混乱しています。GLFWコンテキストリファレンスは次のように述べています。 この関数は、指定されたウィンドウのOpenGLまたはOpenGL ESコンテキストを呼び出し側スレッドの現在のコンテキストにします。コンテキストは、一度に1つのスレッドでのみ最新にすることができ、各スレッドは一度に1つの現在のコンテキストのみを持つことができます。 しかし、それは私にはあまり役に立ちません。メソッドの ように機能しglBind-ますか?(glBindBuffer、glBindVertexArrayなど)
12 opengl  c++ 

2
最新のOpenGLでユニフォームを処理するための良いアプローチは何ですか?
私は最新のOpenGL(3.1以降)を使用してレンダラーを作成していますが、今ではユニフォームを処理する効率的で柔軟な方法を作成しようとしています。私は、均一なバッファオブジェクトと、これらを使用するための「一般的な」アプローチとは何かを調べてきました(後者は、残念ながら、期待していたほど多くの結果が得られませんでした)。 OpenGL API呼び出しを減らし、連続したメモリにデータを保存するために、GPUにアップロードする必要がある各データ構造に対して複数の大きなバッファーを作成することを検討しています。各バッファの最大サイズは16kbです(私が理解しているところによると、これはUBOで使用できることが保証されています)。オブジェクトがユニフォームをGPUにアップロードできるようにしたい場合、まだいっぱいではない、アップロード対象のタイプの最初のバッファーをフェッチし、そのバッファー内で次に使用可能なインデックスを取得します。オブジェクトが描画されると、UBOがバインドされ(まだバインドされていない場合)、UBOの要素インデックスがアップロードされます。 これにより、次のような結果になります。 layout(std140) uniform ModelData { mat4 model_matrix[kNumInstancesPerModelUbo]; } uniform int u_ModelDataIndex; layout(std140) uniform SkeletonData { mat4 bone_transforms[kNumInstancesPerSkeletonUbo][kMaxBones]; } uniform int u_SkeletonDataIndex; ただし、次のことも検討しています。 layout(std140) uniform MeshData { mat4 model_matrix[kNumInstancesPerMeshUbo]; mat4 bone_transforms[kNumInstancesPerMeshUbo][kMaxBones]; } uniform int u_MeshDataIndex; いくつかの点で、これは、アップロードされるメッシュに関連するすべてのデータにアクセスするために単一のインデックスを必要とするという点で、はるかにきれいに感じられます。一方、これは手に負えない可能性があります(16kbより大きいバッファーサイズ、無関係なデータ(スケルトンのないメッシュなど)へのハンドル)、またはモデルマトリックスのアップロード中にボーンを言うためのアクセスが許可されていないため、同期の問題も発生します)これがGPUのメモリレイアウトにどのように影響するかはわかりません。 率直に言って、私はここで立ち往生しているように感じ、UBOを高速で柔軟に処理する方法の具体的な例を見つけることができません。 ここで私を助けることができるアドバイスやリソースはありますか?

2
C ++のアルキメデススパイラル
C ++でアルキメデススパイラルの x位置とy位置をプロットしようとしています。 これまでのところ、私はこのようなものを試してきましたが、運はありません: int dx = 0; int dy = 0; int x = 0; int y = 0; for (int i = 0; i < maxPoints; i++) { dx = sin(i * PI / 2); dy = cos(-i * PI / 2); x += dx; y += dy; …
8 c++  geometry 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.