«glsl» 태그된 질문

OpenGL 쉐이더를위한 프로그래밍 언어.


1
탄젠트 및 비트 당 벡터를 계산하는 방법
three.js에 텍스처를로드 한 다음 셰이더로 전달했습니다. 정점 셰이더에서 법선을 계산하고 uv 벡터를 변수에 저장합니다. <script id="vertexShader" type="x-shader/x-vertex"> varying vec3 N,P; varying vec2 UV; void main() { gl_Position= projectionMatrix * modelViewMatrix * vec4(position,1.0); P= position; N= normalMatrix * vec3(normal); UV= uv; } </script> <script id="fragmentShader" type="x-shader/x-fragment"> varying vec3 N,P; varying vec2 …

2
IF 문에 하나 대신 두 개의 셰이더 사용
비교적 큰 opengl ES 1.1 소스를 ES 2.0으로 이식하는 작업을 해왔습니다. OpenGL ES 2.0 (모든 것이 쉐이더를 사용함)에서 주전자를 세 번 그려보고 싶습니다. 균일 한 색상을 가진 첫 번째 색상 (ala glColor4f). 두 번째는 정점 별 색상입니다 (찻 주전자에는 정점 색상 배열도 있음) 세 번째는 정점 별 텍스처 그리고 정점마다의 …
9 opengl-es  glsl 

1
헤비 프래그먼트 셰이더의 성능 최적화
다음 쉐이더 세트를 최적화하는 데 도움이 필요합니다. 꼭지점: precision mediump float; uniform vec2 rubyTextureSize; attribute vec4 vPosition; attribute vec2 a_TexCoordinate; varying vec2 tc; void main() { gl_Position = vPosition; tc = a_TexCoordinate; } 파편: precision mediump float; /* Uniforms - rubyTexture: texture sampler - rubyTextureSize: size of the texture before …

4
가변 길이 루프가 GPU 쉐이더에 미치는 영향
예를 들어 데모 씬에서 GPU 내부에 절차 적 내용을 렌더링하는 것이 인기가 있습니다 (화면을 채우기 위해 단일 쿼드를 그려 GPU가 픽셀을 계산하게 함). 레이 행진 이 인기가 있습니다. 이것은 GPU가 픽셀 당 알 수없는 루프 반복 횟수를 실행하고 있음을 의미합니다 (그러나 상한을 가질 수는 있음 maxIterations). 가변 길이 루프를 사용하면 …

3
최초 그림자 매핑 문제
셰이더를 사용하여 OpenGL에서 처음으로 기본 그림자 매핑을 구현했으며 몇 가지 문제에 직면하고 있습니다. 아래에서 렌더링 된 장면의 예를 볼 수 있습니다. 내가 따르는 섀도 매핑의 과정은 라이트 렌더링 관점에서 뷰 매트릭스를 사용하고 일반 렌더링에 사용되는 투영 및 모델 매트릭스를 사용하여 장면을 프레임 버퍼로 렌더링하는 것입니다. 두 번째 단계에서는 위의 MVP …

3
디퍼 드 셰이딩-여러 라이트를 결합하는 방법?
GLSL로 시작하고 위치, 법선 및 알베도로 G 버퍼를 출력하는 간단한 지연 음영을 구현했습니다. 간단한 포인트 라이트 셰이더도 작성했습니다. 이제 포인트 라이트를위한 구를 그리고 출력은 라이팅 버퍼로 들어갑니다. 문제는 여러 조명을 그릴 때 조명 버퍼의 결과를 어떻게 결합합니까? 예를 들어 포인트 라이트 셰이더를 사용하여 라이트 버퍼에 두 번째 라이트를 그릴 때 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.