2014-07-14 5 views
1

셰이더 효과를 사용하여 WPF 3D 응용 프로그램 (C#)에서 픽셀 단위의 조명을 구현할 수 있습니까?WPF의 픽셀 별 조명

WPF에서 실행되는 기본 3D 응용 프로그램이 있지만 Gouraud Shading을 나타내는 데 그늘진 색상 값을 정점 사이에서 다각형 내부로 보간하면됩니다. Phong과 같은 픽셀 별 조명 접근 방식을 구현하려고했지만 WPF 픽셀 쉐이더 효과에서 보간 된 법선에 액세스 할 수있는 것 같지 않습니다. 이것이 WPF의 한계입니까? C++ 및 OpenGL/DirectX를 직접 사용하는 것이 좋습니다.

+0

네이티브 프로그래밍을 피하기 위해 xna를 사용할 수 있습니다. 저는 항상이 데모를 예제로 사용합니다 : https://www.youtube.com/watch?v=RDIeijJkV14. 그것의 만든 xna & silverlight – Liero

답변

0

내가 아는 한, 그렇습니다. WPF 제한 사항입니다 ... 픽셀 별 음영을 처리 할 수있는 OpenGL과 달리, WPF는 meshGeometry에서만 작업 할 수 있습니다.

나는 셰이더 효과가 포함 된 텍스처를 만들고 삼각형 당 적용하는 방법이 있다고 생각합니다. 이렇게하면 계산 시간이 오래 걸리지 만 작동해야합니다.

감사합니다.

+0

Pixelshaders는 DirectX에서도 사용할 수 있습니다. WPF 제한 사항입니다. 음영을 텍스처에 두는 것은 해킹입니다. 빛과 움직임을 고려하지 않으므로 물체, 조명 또는 시점을 이동할 때 매우 잘못 보입니다. –