2017-08-04 12 views
0

ベクトルを理解し、スカラーを追加できないため、これは奇妙なことがあります。しかし、私はthis sampleを見つけたし、ライン157には、以下の操作を行う:hsv.xfloat数であることを起こるGLSLベクトルvec3とfloatの和

hsv.x + vec3(0.,2./3.,1./3.) 

、値は、マウスのX座標どこから来るのか、よく残りはvec3です。

私の質問は、その操作の結果は何ですか?

+0

ベクトルの各成分にスカラーが追加されます。 – Rabbid76

+0

@ Rabbid76ありがとう!それでも、数学の操作でこれは不可能ですか、間違っていますか?これは単なるOpenGLの場合の特別なケースですか、他のプログラミング言語の場合も同じですか? – Pipo

+0

これが見つかりました(5.10 59ページ):https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.3.30.pdf – Pipo

答えて

1

あなたはベクトルにスカラーを追加した場合The OpenGL Shading Language仕様(バージョン4.6、第5章演算子と式は)言うので、そのスカラーは、ベクトルの各要素に追加されます。

つのオペランドをスカラーであり、もう1つはベクトルまたは行列です。この場合、スカラー演算は、ベクトルまたは行列の各成分に独立して適用される であり、結果として同じサイズのベクトル または行列が得られます。

+0

ありがとう!私はちょうどglslをつかんだが、私がそれをやっているかどうかわからない。私は "shadertoy"とKhronos.orgから上に貼り付けたリンクを使ってテストを始めました。それが正しい道であるかどうかまだ分かりませんが、あなたには何か勧告がありますか?私はYouTubeからもビデオをチェックしてきましたが、シェーダファイルが頂点とフラグメントシェーダの2つのファイルに分割されているので、もっと混乱してしまいました。 – Pipo

関連する問題