問題タブ [pixel-shading]

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 投票する
0 に答える
398 参照

graphics - POV-rayでフォンシェーディングを行う方法

レンダリングには POV-ray raytracer を使用しています。を使用してレンダリングすると、三角形のメッシュがあります。

滑らかなシェーディングが得られません。使用しているPOV-rayにも滑らかなシェーディングの規定があります:

しかし、問題は、三角形の角の法線が必要なことです (フォン シェーディングを使用します)。三角形の角の法線を計算するにはどうすればよいですか? POV-ray でスムーズなシェーディングを行うには?

注: 共通の頂点を共有する三角形は、それらの頂点で同じ法線を持ちます。

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

c++ - シンプルなレイ トレーサー、拡散シェーディングの問題 c++

全体をよりよく理解するために、基本的なレイトレーサーを作成しています。球体のディフューズ シェーディングです。次のソースからの数式を使用して、球の交差と拡散シェーディングを計算しました。

http://www.ccs.neu.edu/home/fell/CSU540/programs/RayTracingFormulas.htm

シェーディングを計算する私のコード (リンクでのソース コードの複製の試み) は前に示されています。ほとんどの場合、一部の球体では計算が正しく表示されることがありますが、ライトの位置によっては、球体のシェーディングがどの程度正しいか壊れているかによって異なります。

拡散シェーディング エラー

写真からわかるように、一部の球は正しくシェーディングされているように見えますが、他の球は完全に壊れています。最初は UnitVector の計算に問題があるのではないかと思っていましたが、調べてみると問題を見つけることができませんでした。誰でも問題の理由を見ることができますか?

注: OpenGl を使用してシーンをレンダリングしています。

更新: 私はまだいくつかの問題を抱えていますが、皆さんの助けと、単位ベクトルの計算方法のいくつかの変更のおかげで、それらはほとんど解決されたと思います. 以下に示す更新。回答をくださった皆さん、どうもありがとうございました。

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

ogre - Ogre3d でピクセルごとのシェーディングを有効にする方法

ここに画像の説明を入力

Ogre3D でスポット ライトを使用して平面を照らしています。ただし、ホットスポットのエッジはジグザグ効果を示します。平面上のシェーディングは、補間なしですべての頂点で行われるように見えます。

ワイヤーフレーム レンダリングの結果を以下に示します。 ここに画像の説明を入力

ホットスポットの境界を滑らかにする Ogre3D でピクセルごとの照明を有効にするにはどうすればよいですか?

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

opengl - インスタンス化されたレンダリングで密度マップを実装する方法

Kévin Boulanger による草のレンダリングに関するこの素晴らしいブログに出会いました。

彼のプロジェクトでは、特定の密度マップを使用しました。

ここに画像の説明を入力

黒い領域は、草がレンダリングされる 3D ワールド内の場所を表します。白い部分は草が生えていないところです。

私の質問は、OpenGL のインスタンス化されたレンダリング機能を使用してシーンで草をレンダリングしていることです。しかし、芝生は地形全体に広がっています。このような密度マップを、レンダリングしている草の位置にマッピングできませんでした。

インスタンス化されたレンダリングでこのような密度マップを使用するにはどうすればよいですか?

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

java - ランバート シェーダーが機能しない

レイ トレーサー用のランバート シェーダを作成しようとしていますが、問題が発生しています。シーンはまだフラット シェーディングのように見えますが、少し暗いだけです。この写真のような ここに画像の説明を入力

これは私のシェーダークラスです:

私のコードをもっと見たい場合は、お知らせください。

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

python - 不透明度をデータ勾配に設定して、Matplotlib imshow でマップ シェーディングを作成する際の問題

データの勾配を計算し、それを使用してアルファ値を設定することにより、一部のデータのマップにシェーディングを追加しようとしています。

データを読み込むことから始めます (残念ながら、準備中の多数の原稿で使用されているため、データを共有することはできません。編集 - 2020 年 12 月: 公開された論文は、Society of Exploration Geophysicistsライブラリでオープン アクセスで入手できます。データは付属のJupyter Notebookで利用できます):

データのプロットを取得します: データ

次に、水平方向のグラデーションの合計を計算し、それを正規化してシェーディングに使用します。

私が期待したように見えます:

勾配

シェーディング効果を作成するには、データのプロットから色を取得し、不透明度をグラデーションに置き換えて、次のようにグラデーションに比例した暗いシェーディングを作成すると考えました。

しかし、結果は私が期待したものではありません: シェーディング

これは私が探しているものです(Matlabで作成され、カラーマップは異なります): シェーディングMatlab

コードを変更する方法について何か提案はありますか?

更新しました

Ran Novitsky の方法で、titusjan の回答で提案されたコードを使用すると、次の結果が得られます。 ペグトップ

これは私が探していた効果をもたらします。シェーディングに関しては、HSV を使用するという titusjan 自身の提案が気に入っています。これにより、次の結果が得られます ティトゥスヤンス

ただし、呼び出したにもかかわらず、カラーマップをキューブヘリックスにすることができませんでした。