2012-12-21 7 views
0

수족관을 닮은 몇 가지 메시가 있습니다. 빛이 붙은 시점이나 카메라를 움직일 수 있습니다. 앞 유리 만 완전히 투명하며 화면 유리가되도록 고안되었습니다.OpenGL ES 1.1 - 수족관의 현실적인 렌더링

확산 소재의 일부 조합을 사용하여 블렌더 기능 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)을 사용해 보았지만 일부 실제 텍스처가 모양을 개선하는 데 도움이 될 수 있음에도 불구하고 항상 CAD 드로잉처럼 보입니다.

glBlendFuncglMaterialfv의 모든 가능한 조합을 변경하여 원하는 결과를 무차별 공격으로 실행할 수는 있지만 시간이 오래 걸릴 수 있습니다. 그래서 누군가가이 시각적 효과를 달성했는지 알기 위해 여기에 질문을 올렸습니다. 어떤 도움이나 의견도 감사합니다.

+0

렌더링의 모양이 무엇인지, 그리고 맘에 들지 않거나 달성하려는 것의 그림을 게시 할 수 있다면 도움이 될 수 있습니다. (블렌드 모드만으로는 충분하지 않을 수도 있습니다.) – JasonD

+0

@JasonD는 스크린 샷을 추가했는데 모양이 다소 현실적이지만 여전히 개선 될 수 있습니다 – rraallvv

답변

1

물과 유리가 모두 나타내는 반사광이없는 것처럼 보입니다. 물 표면의 반사 용어가 좋거나 환경 맵을 추가하여 혼합 할 수는 없습니다. 나는 물의 불투명도를 약간 낮추어 경계를 덜 분명하게하고 정반사가 정의를 나타내도록했습니다.

검은 색 방이 아닌 다른 곳에서 유리를 렌더링하는 경우 유리 자체에 환경 반사가 있어야합니다. 다시 간단하고 미묘한 환경 맵이면 충분할 것입니다. 당신이 시도 할 수 있습니다

다른 것들 (마음에 베어링 당신은 ES1.1에는 쉐이더를했습니다 없음) :

화선을. 그것들은 수영장의 바닥에서 볼 수있는 밝은 물결 모양의 선들입니다. 표면의 움직임에 의해 빛이 다른 방향으로 흩어져서 생깁니다. 알파 텍스처로 주변의 정점을 흔들어 볼 수 있습니다.

굴절. 언더 워터 장면을 2 차 버퍼로 렌더링 한 다음이를 텍스처로 사용하여 이미지를 다소 왜곡/애니 메이팅 할 수 있습니다. 물고기 탱크는 그다지 많이 보여주지 않으며, 표면을 들여다 보며 실제로 볼 수만 있다면 흥미로울 것입니다.