glPolygoneMode(GL_FRONT_AND_BACK, GL_FILL)
가 켜져 있고이 상황에서 어떻게 와이어 프레임을 얻을 수 있습니까? 다각형 모드를 GL_LINE
으로 바꾸지 않고도 와이어 프레임 렌더링을 할 수 있습니까?OpenGL의 와이어 프레임
답변
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
채우기 ... 채우기를 원합니다.
편집 : 당신은 항상 귀하의 질문이 명확하지 않습니다이
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
// add polygons here
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
처럼이 완료되면 채우기 위해 다시 넣을 수 있습니다, 기억,하지만 난 당신이 채워진 다각형을 모두 렌더링 할 것인지 생각 그리고 와이어 프레임. 너무 사소한 것은 아닙니다. 난 당신이 몇 가지 큰 미들웨어가 있다고 가정
glPolygonMode(... GL_FILL);
draw();
glPolygonOffset(param1, param2);
glPolygonMode(... GL_LINE);
draw();
하지만이 같은 질문에서 등, glPolygonOffset
에 전달할
을 값을 알아내는 등, 문제가없는 것은 아니다 : 문제를 해결하기 위해 고전적인 방법은 , 셰이더에만 액세스 할 수 있습니까? 맞습니까?
이 경우, 예를 들면, 호출을 가변하여 버텍스 쉐이더에 vertexID를 만듭니다
varying float vertexID; # in GLSL <= 3, or
out float vertexID; # in GLSL 4
및 지정이 내장 된 gl_VertexID :
vertexID = (float)gl_VertexID;
이렇게하면 ' 프래그먼트 셰이더에서 gl_VertexID에 액세스 할 수 있지만 보간됩니다! 이것은 예를 들어 하나의 정점에서 2, 이웃에서 3, 그리고 2.5 사이에 있기 때문에 훌륭합니다.
그래서 vertexID가 2에 가까울 지 확인해야합니다 (3 번). 그렇다면 가장자리에 가깝습니다. 그것은 시각화를 위해 충분해야합니다 & 디버그.
in float vertexID; # or
varying float vertexID;
// blabla
if (fract(vertexID) < 0.1){
outcolor = vec4(1,0,0,0); # in glsl 4
}
이 방법으로 각 삼각형의 가장자리를 2 개만 얻을 수 있습니다. 그리고 어쩌면 일부는 얇을 것입니다 (하나의 vertexID가 2이고 다른 하나가 1000 인 경우 0.1 영역이 적음). 장면을 렌더링의 모든 시간에 신비 셰이더 (또는 알파 - 깊이 조화와 흑 마술)와
네, 맞습니다 : 시스템은 쉐이더 지향입니다 (프로그래밍 가능한 파이프 라인 만 의미 함). 그리고 당신의 대답은 아주 가깝습니다, 고마워요! – infra
하지만 이상하게 보입니다 - 장면의 모든 객체에이 쉐이더를 추가하십시오. ( – infra
@infra 마지막 코멘트를 얻지 못했습니다. 원하는 경우 하나의 메쉬에만 설정할 수 있습니다. 시스템에서 허용하는 경우 하나만 설정할 수 있습니다. – Calvin1602
- 1. 와이어 프레임 오버 계획입니까?
- 2. 간단한 와이어 프레임 형식?
- 3. Box2d b2Body 와이어 프레임 숨기기
- 4. HTML 와이어 프레임 도구 상자
- 5. 와이어 프레임 스텐실 : Visio, Visual Studio?
- 6. 와이어 프레임 및 격자가있는 구름을 R으로 작성
- 7. OpenGL의 행렬
- 8. OpenGL의 애니메이션
- 9. 리눅스 용 무료 웹 사이트 와이어 프레임 도구
- 10. GUI 생성기 용 xml 출력이있는 와이어 프레임 편집기
- 11. 다른 프레임 워크의 AJAX JSON 요청에 대한 와이어 형식 (HTTP)?
- 12. 최고의 iphone 와이어 프레임 크리에이터 소프트웨어는 무엇입니까? 프로토 타입
- 13. 최고의 온라인 사진 편집기 및 최고의 아이폰 와이어 프레임 크리에이터
- 14. OpenGL의 투명 FrameBuffer 배경
- 15. 프레임 버퍼 객체가있는 OpenGL의 동적 큐브 맵 렌더링
- 16. OpenGL의 glLogicOp와 동일한 DirectX가 있습니까?
- 17. 인덱스를 OpenGL의 좌표로 사용
- 18. OpenGL의 색 구
- 19. OpenGL의 vbo 관리
- 20. OpenGL의 초기화되지 않은 텍스처
- 21. OpenGL의 박제 동물
- 22. OpenGL의 다각형 그라디언트
- 23. OpenGL의 정점 제한
- 24. openGL의 광원 회전
- 25. OpenGL의 고무 밴드 방법
- 26. OpenGL의 조명 문제
- 27. OpenGL의 일반 기능은 무엇입니까?
- 28. OpenGL의 지형 미니 맵?
- 29. OpenGL의 눈 사탕
- 30. OpenGL의 GUI 툴킷
어떤 답변 (GL_FRONT_AND_BACK, GL_FILL) – infra
glPolygoneMode을 허용하는 ON, 나는 그것을 떨어져 전환 할 수 없습니다 – infra
당신은 이유를 말씀해 주시겠습니까 당신은 그것을 끌 수 없습니까? – Hannesh