問題タブ [glsl]
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.
emacs - EmacsのGLSLメジャーモード?
このリンクhttp://artis.imag.fr/~Xavier.Decoret/resources/glsl-mode/を見つけましたが、「単純」であることを除けば、その周りには多くの説明がありません。
理想的には、それを実行できる CcMode の拡張機能、または少なくとも自動スタイリングを処理でき、CcMode への同様のショートカットを持つモードが必要です。
ない場合は、自分で書き始めるのに役立つ良い elisp リファレンスがあれば大歓迎です。
編集: David の応答により、glsl-mode.el を詳しく調べるようになりました。これは実際には cc-mode に基づいているため、まさに私が最初に探していたものです。
graphics - glslで2つの法線間の角度をどのように計算しますか?
glslで2つの法線間の角度をどのように計算しますか? オブジェクトの外縁にフレネル効果を追加しようとしています (その効果をフォン シェーディングと組み合わせます)。欠けているのは角度だけだと思います。
フラグメント シェーダー:
頂点シェーダー:
さまざまな vec3
shader - HLSLにGLSLのftransform()変換はありますか?
GLSL頂点シェーダーを使用する場合、シェーダーを固定関数パイプラインとして機能させる方法は、次のように呼び出すことです。
ftransform();
働き。HLSLの頂点シェーダーに同様の機能はありますか?
ありがとうございました
opengl - OpenGL では、シェーダー プログラムで使用されるすべてのユニフォームと属性のリストを取得する方法はありますか?
シェーダー プログラム オブジェクトで使用されるすべてのユニフォームと属性のリストを取得したいと考えています。 glGetAttribLocation()
&glGetUniformLocation()
を使用して文字列を場所にマップできますが、本当に欲しいのは、glsl コードを解析する必要のない文字列のリストです。
注: OpenGL 2.0 ではglGetObjectParameteriv()
、 は に置き換えられglGetProgramiv()
ます。そして列挙型はGL_ACTIVE_UNIFORMS
&GL_ACTIVE_ATTRIBUTES
です。
opengl - キューブ マップへのレンダリング
ARB_geometry_shader4によれば、ジオメトリ シェーダーを使用してキューブ マップの 6 つの面にシーンをレンダリングし、キューブ マップをフレーム バッファー オブジェクトにアタッチすることができます。この方法でシャドウ マップを作成したいと思います。ただし、解決できない競合があるようです。
- 内部タイプとして GL_DEPTH_COMPONENT を持つテクスチャのみを GL_DEPTH_ATTACHMENT_EXT にアタッチできます。
- 深度テクスチャは 1D または 2D のみです。
- キューブ マップをアタッチする場合、アタッチされている他のすべてのテクスチャもキューブ マップである必要があります。
そのため、キューブ マップにレンダリングする場合、深度テストを使用できないようです。または、ここで何が欠けていますか?
編集:新しい Nvidia ドライバー (180.48) は深度キューブ マップをサポートしているようです。
opengl - GLSL バージョン変更ログ?
バージョン 1.1 から 1.2 および 1.2 から 1.3 の GLSL で行われた変更と追加について読むことができる場所はありますか?
Google はこれについて途方に暮れているようで、完全な仕様を読み始めたくありません。
opengl - どうすればキューブマップにレンダリングできますか?
キューブマップにレンダリングしようとしていますが、ここで手順を見つけました: http://www.opengl.org/wiki/GL_EXT_framebuffer_object#Quick_example.2C_render_to_texture_.28Cubemap.29
上記の方法に従ってキューブマップの面を fbo にバインドしましたが、エラー GL_FRAMEBUFFER_UNSUPPORTED_EXT が発生しました。これは、グラフィック カードがこの機能をサポートしていないためなのか、それともコードにバグがあるためなのか?
また、6 つの個別の 2d fbo テクスチャにレンダリングし、これらのテクスチャを使用してキューブマップを作成することは可能ですか?
ありがとう
opengl - Intel での詳細な GLSL シェーダーのコンパイル
GLSL シェーダーを使用するプロジェクトがあります。
このプロジェクトは、何か問題が発生したり、追加のデバッグ出力を明示的にオンにしない限り、stdout に何も出力しないように設計されています。
シェーダーのコンパイルが失敗した場合、指定されたログの長さglGetProgramInfoLog
は >0 になり、成功した場合は >0 になり、代わりにコンパイルの警告が表示されます。完全にコンパイルされたシェーダーがある場合、ログの長さは 1 未満です...これは、私の開発マシンの NVidia カードでどのように機能するかです。
私の罪のために、Intel統合グラフィックスカードを搭載したラップトップで開発も行っています。コードは正常に実行されますが、シェーダー コンパイルを行うたびにログに次のものが含まれます。
「シェーダーはハードウェア上で実行できるように正常にコンパイルされました」
ある種の文字列分析を除いて、文字列を出力する必要があるかどうかを判断する方法がないため、これは非常に面倒です。
それが望ましくない理由が明らかであることを願っています。OpenGL api を使用してメッセージを出力する価値があるかどうかを判断するにはどうすればよいですか?
編集:
使用するglGetShaderiv(shaderobj,GL_COMPILE_STATUS,&err);
と、コンパイル警告は表示されず、エラーのみが表示されます。