OpenGL에서 2D 텍스처를 제공하는 가장 쉬운 방법은 (lwjgl) 일종의 "두께"입니다. 물론 나는 어떻게 든 텍스쳐의 테두리를 얻을 수 있었고 텍스쳐가 그려진 쿼드의 법선과 인접한 텍스쳐 픽셀의 색으로 Quad를 추가 할 수있었습니다. 하지만 더 쉬운 방법이 있어야합니다. Minecraft는 lwigl도 사용하고 있으며, 다각형의 수십 개를 그렸을 때와 같이 성능 문제가 많이 발생하지 않는 (새로운) 3D 항목이 있습니다. 또한 손에 물건을 넣을 때, 고해상도의 텍스쳐로도 작동하는 그런 종류의 "뻗어있는"텍스처가 있습니다. 어떻게 완료되는지 아는 사람이 있습니까?OpenGL 2D 텍스처의 두께
0
A
답변
0
2D 텍스처는 항상 무한히 얇습니다. 실제 두께를 원한다면 (가장자리를 볼 때) 지오메트리가 필요합니다. Minecraft에서는 그런 식으로 모델링 되었기 때문에 상황이 고르지 않게 보입니다.
각도를보고 가장자리를 무시하면 시차 매핑을 사용하여 텍스처의 일부 깊이를 "가짜"로 만들 수 있습니다. 또는 깊이 맵을 사용하고 텍스처 셰이더와 정점 셰이더의 조합을 사용하여 텍스처에서 지오메트리를 생성하는 위치 변경 맵을 구현할 수 있습니다.
관련 문제
- 1. OpenGL 텍스처의 불투명도 변경
- 2. OpenGL ES : 2D 배열 텍스처의 단일 레이어를 2D 텍스처의 하위 영역에 복사
- 3. OpenGL ES - 텍스처의 색조를 변경하십시오.
- 4. OpenGL 선 두께
- 5. 2D 텍스처의 피치 정렬
- 6. OpenGL - 두 텍스처의 힘
- 7. OpenGL 텍스처의 대각선
- 8. OpenGL 렌더링 된면의 두께 변경
- 9. OpenGL 텍스처의 특정 색상을 투명하게 설정하려면 어떻게해야합니까?
- 10. OpenGL ES : 텍스처의 정점 수
- 11. OpenGL 텍스처의 해상도가 자동으로 축소됩니까?
- 12. 텍스처의 일부분을 바인딩하는 방법 OpenGL
- 13. 는 OpenGL ES 2.0 - 복사 텍스처 데이터 I에서 OpenGL ES 2.0을 초기화 2D 텍스처의 배열을 가지고
- 14. OpenGL 440 - 파편의 선 두께 제어.
- 15. 2D 텍스처의 값을 기반으로 1D 텍스처 샘플링
- 16. Android OpenGL ES 투명 텍스처의 색상
- 17. OpenGL ES에서 텍스처의 일부만 반복 하시겠습니까?
- 18. 텍셀에서 OpenGL 텍스처의 크기를 결정하는 방법은 무엇입니까?
- 19. OpenGL/GLSL 1.2로 텍스처의 색조를 변경하십시오.
- 20. OpenGL : 텍스처의 일부분 만 업데이트하는 방법은 무엇입니까?
- 21. OpenGL ES 1.1에서 텍스처의 메모리 사용량 줄이기
- 22. OpenGL 큐브 맵 텍스처의 한면으로 렌더링하는 방법
- 23. OpenGL : 텍스처의 샘플 수를 얻는 방법
- 24. OpenGL 채집 및 텍스처의 히트 포인트 찾기
- 25. OpenGL ES 텍스처의 상단에 32 픽셀 갭
- 26. OpenGL ES 텍스처의 비트 맵 밀도 (Android)
- 27. 텍스처의 최대/최소 휘도 얻기 OpenGL
- 28. OpenGL C++ 텍스처의 색상과 위치가 잘못되었습니다.
- 29. OpenGL 2D 텍스처가 작동하지 않습니다.
- 30. OpenGL 2d 예제 게임
텍스쳐가 겉보기 두께를 가질 수있는 유일한 방법은 범프 맵핑 (심지어는 겉보기 두께 일 뿐이지 만 극한 각도에서 보았을 때 분해됩니다)입니다. 실제 두께를 생성하려면 일부 지오메트리 생성 효과가 있어야합니다. – Durandal
그래, 기하학 쉐이더는 꽤 멋지게 사용할 수 있습니다. – Iggy