2012-05-01 5 views
0

저는 OpenGL 프로젝트에 있습니다.OpenGl 혼합 : 동일한 투명 오브젝트

동일한 투명 재질 (예 : 알파 = 0.2)로 만들어진 개체가 있습니다 (단지 2). 두 객체가 교차합니다.

교차 부분을 다른 부분과 동일하게 보이게하려면 어떻게해야합니까 (테두리없이 다른 색상 없음).

답변

1

정말로하고 싶은지 확실하지 않습니다. 나는 어쨌든 대답 할 것이지만, 왜 내가 당신이 그걸 원하지 않는다고 생각하는지 말해 줄께.

실생활에서 빨간색 스테인드 글라스와 파란색을 상상해보십시오. 부분적으로 겹쳐 보이는 방식으로 보면 겹치는 부분이 분명히 다른 색 (자주색)을 갖습니다. 2 개의 빨간색 안경을 가져 와서 겹쳐 지도록하면 겹치는 부분이 빨갛게됩니다. 이것이 바로 OpenGL 프로그램에서 일어나는 일입니다.

이제 일반적으로 투명 오브젝트가 여러 개인 경우 눈과의 거리 및보고있는 방향에 따라 정렬해야합니다. 그런 다음 가장 먼 곳에서 가장 가까운 곳으로 그립니다. 그 자체로 간단한 작업이 아닙니다! 교차하는 2 개의 물체를 생각해보십시오.

원하는 것을 얻기위한 한 가지 방법은 투명 오브젝트를 정렬하는 것이지만 가장 가까운 오브젝트에서 가장 먼 오브젝트로 그립니다. 이렇게하면 실제로 같은 픽셀의 투명도가 두 번 수행되는 것을 허용하지 않습니다. 별로 좋은 생각이 아닙니다.

또 다른 방법은 특별한 종류의 이러한 개체에 매우 특정한 작업을 수행하는 것입니다. 명백하게 두 개가 겹치는 부분이 변경되지 않기 때문에 특별한 종류라고 말합니다! draw 버퍼 대신에 스텐실 버퍼에 드로잉하여 원하는 것을 할 수 있고, 전체 스 크린에서 원하는 컬러로 직사각형을 그린다. 스텐실 만 일치시킨다.

+0

빠른 응답, Shahbaz에 감사드립니다. 나는 세포 분열 과정을 모델링하고있다 [link] http://stackoverflow.com/questions/10393433/opengl-cell-division-effect. 내가하는 일은 두 개의 동일한 셀을 생성 한 다음 멀리 떨어져서 이동하는 것입니다. 그래서 저는 정말로 두 개의 세포가 분리되지 않을 때 하나의 세포처럼 보이기를 원합니다. 사용자는 씬을 돌아 다닐 수 있어야하므로 첫 번째 옵션은 따라 가기 힘듭니다. 스텐실 버퍼를 사용하여 두 번째 옵션을 시도해 볼 수있는 링크를 제공해 주시겠습니까? – Huynh

+0

누구나 세포 분열 과정이나 개체 복제와 관련된 유사한 과정을 모델링하는 다른 접근법을 제안합니까? – Huynh

+0

"The OpenGL bible"책에서 스텐실 버퍼를 배웠으므로 인터넷의 소스가 좋을지 모르겠지만 많이 들었습니다. 그냥 구글과 당신은 좋은 무언가를 찾을 수 있어야합니다. – Shahbaz

관련 문제