Google이 실패했습니다. 유익한 정보를 찾을 수 없습니다. 아마 GameDev는 :).
- 3D 텍스처 란 무엇입니까?
- 그들은 언제 사용됩니까?
- 성능 비용?
- 그들은 어떻게 저장됩니까?
모호한 아이디어가 많지만 '정의적인'정의는 없습니다.
특히 3D 텍스처를 통해 파티클 시스템을 렌더링 할 때 예제 나 튜토리얼에 대한 참조가 인정됩니다.
Google이 실패했습니다. 유익한 정보를 찾을 수 없습니다. 아마 GameDev는 :).
모호한 아이디어가 많지만 '정의적인'정의는 없습니다.
특히 3D 텍스처를 통해 파티클 시스템을 렌더링 할 때 예제 나 튜토리얼에 대한 참조가 인정됩니다.
답변:
3D 텍스처는 일반 텍스처처럼 작동합니다. 그러나 실제로 3D입니다. 2D 텍스처에는 UV 좌표가 있고 3D에는 UVW가 있습니다 (적절하게 사용해야합니다). 텍스처 좌표는 단위 큐브 (0-1, 0-1, 0-1)입니다.
가능한 사용법 :
성능 :
일반 텍스처와 동일-초고속 (GPU에서 가장 빠른 메모리 액세스) 스레드를 위해 캐시되고 니어 스레드 (픽셀 셰이더)가 가까운 값을 찾는 상황에 최적화
점으로 읽거나 선형 샘플링을 사용할 수 있습니다 (기본 3 선 보간. 2D 텍스처의 등가 이중 보간).
그것들은 2D 텍스처 배열처럼 메모리에 저장됩니다.
3D 텍스처에서의 밉 매핑 :
3D 텍스처 또는 '볼륨 텍스처'는 카드 데크처럼 슬라이스로 배열 된 일련의 일반 텍스처입니다. 이들은 CT 렌더링과 같은 실제 데이터를 가져온 다음 조작하는 볼륨 렌더링에 사용됩니다. 게임과 그래픽에서는 입자 시스템의 유연성을 고정 된 비용으로 거래하고 볼륨 텍스처를 쉽게 (그리고 쉽게 병렬화 할 수있는) 계산하는 연기와 같은 볼륨 효과에 대한 경우가 있습니다. 볼륨 텍스처에서 가장 가까운 이웃을 찾는 것이 실제로 쉽지만, 이것은 느슨한 점으로 구성된 더 전통적인 입자 시스템입니다.
또한 잔디와 같은 볼륨 텍스처를 사용하면 몇 가지 복잡한 오브젝트 이점이 있습니다.
상자에서 Nvidia의 연기가 좋은 예입니다.
http://www.youtube.com/watch?v=9AS4xV-CK14
또한 렌더링 할 볼륨이있을 때 광 산란 렌더링이 더 쉽습니다.
기존의 답변 외에도 3D 텍스처를 절차 적으로 생성하는 방법 (실제로는 2D 절차 텍스처보다 더 의미가 있음), 노이즈 및 프랙탈과 같이 변형되지 않은 텍스처 세부 정보를 모든 각도 표면에 제공합니다. 투영 모델 (UV, 평면, 원통형, 구형 등)을 선택합니다.
3D 공간에서 비트 맵 레이어를 샘플링하는 대신 기본 알고리즘을 사용하여 3D 공간의 각 포인트에 대해 고유 한 값을 얻습니다. 기본 알고리즘은 무한한 텍스처 해상도를 제공하며 각진 폴리곤의 텍스처 확장에 문제가 없습니다. 이것은 3D "텍스처"이거나 오히려 표면 쉐이딩입니다 ^^
우주선을 더럽 히고 싶을 때 약간의 노이즈 공식을 적용하고 제한된 해상도의 비트 맵을 칠할 필요가없는 게임 개발의 모든 비트 맵 텍스처 스너프에 실제로 지쳤습니다. 오래된 3D 버프는 꿈을 꿀 수 있습니다.
지금,이 구식 3D 영화 표면 솔루션을 색상, 일반 및 반사 UV 비트 맵으로 사전 베이킹하는 것은 내가 얻는 유일한 재미에 불과하며 성가신 한계가 있습니다. 데모 씬은 실시간 3D에 대해 절차 적으로 텍스처를 (사전) 생성하는 경향이 있지만 디자인에서 런타임에 이르기까지이 워크 플로우를 지원하는 훌륭한 도구를 찾기가 어렵습니다. 대부분의 게임 개발 절차 적 접근은 메시 생성에 관한 것 같습니다. 깊이 맵 / 지연 렌더링을 통해 쉐이더 파이프 라인이 oldschool 3D 노이즈 알고리즘을 얼마나 처리 할 수 있는지 궁금하십니까?
... 모양의 표면에 텍스처 이미지를 파라 메트릭 방식으로 매핑하는 방법을 찾으려고하는 대신 노이즈 기반 텍스처의 체적 특성으로 픽셀의 (x, y, z) 위치에서 간단하게 평가할 수 있습니다. 쉐이더. 이런 식으로, 당신은 효과적으로 왜곡되지 않은 합리적인 파라 메트릭 매핑을 시도하는 것보다 훨씬 간단한 솔리드 재질로 텍스처를 효과적으로 조각합니다.
이러한 종류의 체적 노이즈 기반 절차 적 텍스처는 오랫동안 쉐이더가 실시간 성능을 요구하지 않는 장편 영화의 주류였습니다. 오늘날 모든 특수 효과 필름은 노이즈 기반 절차 적 쉐이더를 많이 사용합니다 ... Pixar의 RenderMan과 같은 언어로 작성된 픽셀 쉐이더 내 노이즈 기능의 광범위한 사용에 대해 GPU에서 실시간으로 사용할 수있는 노이즈 기능을 훌륭히 구현함으로써 데스크탑과 콘솔의 차세대 대화 형 엔터테인먼트에 통합 된 장편 영화의 흥미로운 시각적 아이디어를 기대합니다. http://http.developer.nvidia.com/GPUGems/gpugems_ch05.html
3D 텍스처 패턴은 2D 텍스처 패턴이 2D 다각형의 픽셀에 적용되는 것과 거의 같은 방식으로 체적의 복셀에 적용됩니다. 다음은 JavaScript에서 3D 볼륨 텍스처의 예입니다 (WebGL 필요).
http://kirox.de/test/Surface.html
[v]를 누르고 몸체를 회전시키고 마우스 휠로 생성 된 텍스처의 그라디언트를 변경하십시오