«fragment-shader» 태그된 질문

픽셀의 출력 색상을 결정하기 위해 GPU에서 실행되는 프로그램입니다. 조각 셰이더라고도합니다.

3
정반사 음영에서 R (퐁) 대신 H (blinn)가 사용되는 이유는 무엇입니까?
나는 이것에 대한 좋은 이유를 찾을 수 없습니다. phong에 사용 된 반사 벡터는 물리학에서 간단한 기초를 가지고 있습니다. 그러나 blinn에 사용 된 반 벡터는 겉보기에 합리적인 근거가 없으며 적절한 반사를 구성하지 않습니다. 그럼에도 불구하고 그것은 모든 소위 "물리 기반"쉐이딩 기능에서 사용됩니다. 그것에 대한 좋은 물리적 근거가 있다면 알고 싶습니다. 내가 …

2
심도 테스트를 사용하지 않더라도 픽셀을 버리는 성능을 잃거나 얻습니까?
폐기 명령을 처음 검색했을 때 폐기를 사용하면 성능이 저하 될 것이라고 전문가들이 알게되었습니다. 그들은 픽셀을 폐기하면 GPU가 zBuffer를 올바르게 사용할 수 없게된다고 말했다. 현재 작업중인 2D 게임의 경우 깊이 테스트와 깊이 쓰기를 모두 비활성화했습니다. 깊이에 따라 정렬 된 모든 객체를 그립니다 .GPU가 멋진 일을 할 필요가 없습니다. 이제 조각 쉐이더에서 …

2
GLSL-원 패스 가우시안 블러
원 패스 가우시안 블러를 수행하기 위해 프래그먼트 셰이더를 구현할 수 있습니까? 2 패스 블러 (가우시안 및 박스 블러)의 많은 구현을 발견했습니다. http://callumhay.blogspot.com/2010/09/gaussian-blur-shader-glsl.html http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/ http://www.geeks3d.com/20100909/shader-library-gaussian-blur-post-processing-filter-in-glsl/ 등등. 나는 가우시안 블러를 컨볼 루션으로 구현하려고 생각했습니다 (실제로는 컨볼 루션이며 위의 예는 근사치입니다). http://en.wikipedia.org/wiki/Gaussian_blur

3
물체가 표면 근처에있을 때 점등되는 쉐이더를 작성하려면 어떻게해야합니까?
에서 이 오버 워치 게임 플레이 영상 , 캐릭터의 방패는 다른 객체의 형상 근처 지역에 흰색 불이 들어옵니다. 바닥, 벽 및 기둥 근처의 파란색 실드의 흰색 가장자리를 확인하십시오. 쉴드는 자체 모델을 가지고 있으며 그 효과는 셰이더로 수행된다고 생각하지만 "근접성"개념을 셰이더 프로그래밍으로 변환하는 방법을 찾지 못했습니다.

2
라인 폭이 가변적 인 툰 / 셀 쉐이딩?
셀 셰이딩에 대한 몇 가지 광범위한 접근 방식이 있습니다. 뒤집힌 법선이있는 모형의 복제 및 확대 (나를위한 옵션이 아님) Sobel 필터 / 프래그먼트 셰이더가 에지 감지에 접근 에지 감지에 스텐실 버퍼 접근 면 및 모서리 법선을 계산하는 형상 (또는 정점) 셰이더 접근 방식 지오메트리 중심 접근 방식이 조명 및 선 두께를 …

2
GLSL 쉐이더-색조 / 채도 / 밝기 변경
GLSL 프래그먼트 셰이더를 사용하여 이미지의 색조를 변경하려고합니다. Photoshop의 색조 / 채도 조정 레이어와 비슷한 것을 원합니다. 다음 이미지에서 지금까지 얻은 것을 볼 수 있습니다. 녹색 사각형의 색조를 변경하여 오른쪽의 빨간색 사각형처럼 보이지만이 쉐이더를 사용하면 절반의 빨간색 절반 분홍색 사각형 (중간 사각형)이 나타납니다. 프래그먼트 셰이더에서하고있는 것은 텍스처의 색상을 HSV로 변환 한 …

5
카드 게임에서 카드에 그림자 효과를 그리는 데 어떤 렌더링 기법을 사용해야합니까?
이와 같은 그림자를 만드는 데 어떤 유형의 음영 알고리즘이 사용될 수 있습니까? 내가 만들고있는 것은 비슷하지만 모두 OpenGL에 의해 구동되는 2D 드로잉 API로 수행되므로 Z 좌표가 없습니다. 또한 손 자체의 경우 여기에 표시된 것과 같은 음영 느낌을 얻고 싶습니다. 나는 그에 가까운 그늘을 만드는 방법을 잘 모르겠습니다. 카드의 수는 바뀌어야하고 …

1
레이어간에 캐스트 된 2D 그림자는 어떻게 구현합니까?
다른 레이어의 객체에 의해 투사 된 2D 그림자를 어떻게 구현할 수 있습니까? Catalin Zima 의 잘 알려진 자습서 의 동적 조명이 마음에 들지 않습니다 . 그러나이 비디오 의 파이프 그림자처럼 : 그리고이 비디오 의 플랫폼 그림자와 캐릭터처럼 : 여러 레이어가 있고 여러 색상의 조명이 많은 장면에서 동일한 종류의 조명을 사용하고 …

1
픽셀 충실도를 유지하는 변환 된 2D 스프라이트에 대한 "레트로"픽셀 쉐이더를 만드는 방법은 무엇입니까?
아래 이미지는 배경 위에 포인트 샘플링으로 렌더링 된 두 개의 스프라이트를 보여줍니다. 왼쪽 두개골에는 회전 / 크기 조정이 적용되지 않으므로 모든 픽셀이 배경과 완벽하게 일치합니다. 오른쪽 두개골이 회전 / 확대 되어 더 이상 축 정렬 되지 않은 더 큰 픽셀 이됩니다 . 변환 된 스프라이트를 나머지 장면과 동일한 크기의 축 …

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 …

3
스프라이트
현재 2D 게임을하고 있는데 현재 작업은 선택한 개체의 윤곽을 그리는 것입니다. 기본적으로 블러 셰이더를 사용하여 완전히 런타임합니다. 먼저 수직 가우시안 블러 셰이더를 사용하여 스프라이트를 그린 다음 수평 가우시안 블러 셰이더로 스프라이트를 그린 다음 스프라이트를 정상적으로 그립니다. 여기 블러 셰이더가 있습니다 : sampler TextureSampler : register (s0); #define SAMPLE_COUNT 15 float2 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.