당신이 값을 채우는 변수가 당신이 작업하고있는 정밀도를 등호 오른쪽으로 지시합니까? 여기OpenGL ES 2.0/GLSL에서 어디에서 정밀도 지정자가 필요합니까?
gl_FragColor = lowp vec4(1);
또 다른 예입니다 :
예를 들어, 여기에 정밀 지정자에 의미의 차이는있다
lowp float floaty = 1. * 2.;
floaty = lowp 1. * lowp 2.;
그리고 당신은 몇 가지 수레을, 그리고 벡터를 생성하는 경우 벡터 또는 행렬은 값을 채우는 값의 정밀도를 사용합니까, 아니면 그 값이 다른 정밀도 수준으로 변환됩니까?
나는 생각이 가장 질문에 대답 것입니다 최적화 : 당신은 가능한 한 빨리 그것을 원한다면, 내 말은
dot(gl_LightSource[0].position.xyz, gl_NormalMatrix * gl_Normal)
, 그것은 여기까지 갈 필요가 않습니다를, 또는 그것의 일부는 쓸모가?
lowp dot(lowp gl_LightSource[0].position.xyz, lowp gl_NormalMatrix * lowp gl_Normal)
float의 기본 정밀도를 정의 할 수 있으며 이후에 벡터 및 행렬에 사용되는 것으로 알고 있습니다. 우리가 이전에 정의했다고, 교육의 목적을 위해 가정 : 사람들은 그들이에 할당되고 무엇으로 평가 컴파일 시간을 얻을 수 있기 때문에 당신은 상수/리터럴에 정밀 지정자를 필요가 없습니다
precision highp float;
"gl_FragColor의 정밀도가 이미 렌더 타겟의 깊이에 따라 정의되기 때문에 또한,"이 문장의 답은 무엇인가? 나는 사양이에 대한 정보를 볼 수 없습니다. – eodabash