1
私はGLSLに値を送信しようとしますが、intはちょうど良いですが、浮動小数点は奇妙になります。float値をGLSLに渡すことはできませんか?
のUbuntu 10.04LTS
グラフィックカード:ここG105M
は、私の頂点シェーダである:ここで
#version 110
attribute vec4 a_vertex;
attribute vec3 a_texCoord;
varying vec2 v_texCoord;
uniform float u_time;
void main()
{
gl_Position=vec4(a_vertex.x+u_time,a_vertex.y,a_vertex.z,1);
v_texCoord=a_texCoord.xy;
}
は私のCコードです:ここで
GLint timeLoc=glGetUniformLocation(splash_screen.proHandle,"u_time");
glUniform1f(timeLoc,1.0);
は奇妙なことです私はu_timeをint型に変更しても問題なく動作します。しかし、私がフロートと一緒に行くと、それは非常に奇妙です。
intを使用すると、頂点xは+1になりますが、floatを使用すると頂点xは変更されません。
私はそれを見つけたと思う。
私のプログラムをAndroidに移植するとうまくいきます。
それは私がfinallそれを発見した(90%が、グラフィックカードのドライバである)
「奇妙な」定義 - ランタイムエラーを?正しくないビジュアルですか? –
intを使用すると頂点xは+1になりますが、floatを使用すると頂点xは変更されません(PS:上のコードを編集しています) – windclose
Ok。質問に対する回答が見つかった場合は、回答として投稿し、回答としてマークしてください。ありがとう。 –