Skip to main content

opengl®とは何ですか影の多い?

openオープングラフィックスライブラリとReg;(OpenGL&Reg;)Shadowは、3次元(3D)OpenGL&Reg;の視覚的近似です。同様の照明条件の下で実際の生活で影がどのように鋳造されるかのシーン。シャドウは、OpenGL&Reg;に実装する複雑な視覚的な機能です。これは、主にシーンに影をキャストするための生来のサポートがないためです。代わりに、さまざまなバッファー、シェーダー、場合によっては特定のグラフィックスの特別な機能にアクセスできる拡張など、さまざまなツールを使用してシーン内でオブジェクトとジオメトリからシャドウを作成するために使用できるさまざまな手法があります。カード。ほとんどの場合、opengl®の品質、精度、速度;シャドウレンダリングは、コンピューターまたはデバイスに存在するグラフィックスハードウェアの処理能力とメモリに直接関連しています。OpenGL&Reg;を実装するより一般的な方法のいくつか影には、シャドウボリューム、シャドウマッピング、レイトレースが含まれます。シャドウサポートには、数学的知識と、OpenGLとReg;の深い理解が必要です。作品。opengl®動的でリアルタイムでレンダリングされる3Dシーンを作成するために主に使用されているため、影を作成するために使用されるアルゴリズムは、速度のために最適化するだけでなく、リソースの消費と可能性のある混乱のために慎重に測定する必要があります。レンダリングに使用されるグラフィックパイプラインで引き起こされます。これらの理由から、レイトレースと呼ばれる影を作成する最も基本的な方法は、非常に長い時間がかかる可能性があるため、完全な3Dシーンでは非現実的です。シーンを通ってオブジェクトの表面に向けてカメラの平面または位置を使用し、1つ以上の光源とその他の要因の位置に基づいて表面の色を計算します。3Dシーンが2次元(2D)表面に描かれて表示できるラスター化のプロセス中に、レイトレースのプロセスは、描画されているすべてのピクセルで、特にテクスチャなどで実行する必要があります。表面特性は、同じピクセルを数回評価する必要がある場合があります。これは、リアルタイムのレイトレースを意味しますが、正確に影をレンダリングしますが、通常は実用的ではありません。影はシャドウマッピングとして知られています。この方法では、深さまたはステンシルバッファーを使用して、光源からシーン内の異なるオブジェクトの表面までの一連の距離として、光源の角度からシーンをレンダリングします。その後、シーンは正しい視聴角から2度目にレンダリングされ、各ピクセルがバッファ内の特定の距離範囲内に収まるかどうかを確認し、ピクセルが点灯するか影があるかを示します。シャドウマッピングを使用することはメモリ集約的であり、複数の光源を持つシーンでは、複数の角度から複数のマップを作成することができます。他のいくつかの方法よりも正確な影ですが、それはそれ自身の問題を提示します。シャドウボリュームは、基本的に、光源から離れたオブジェクトの明るい表面から拡大するシーンの目に見えないジオメトリです。このボリュームを他のオブジェクトに対してチェックして、ボリュームが発生した表面の影に落ちているかどうかを確認できます。この手順は非常に複雑であり、速度で最適化された場合、最終的に視覚的なアーティファクトを作成することができます。