Grass Rendering

from Or........../Work 2009. 8. 27. 14:55

으.. 오랫만에 쓰는 작업 스토리... (너무 바뻤음..ㅜ.ㅠ)

 

물 렌더링 관련 작업을 끝내고 풀 렌더링에 대해서 작업을 시작했습니다. 작업 시작해서 끝난지는 언 6~7개월 전 ㅡㅡㅋ 너무 바쁜관계로다가 지금 이렇게 씁니다. 아무튼....기존의 풀 렌더링 관련 툴이 있었는데 (역시 물 작업 툴과 같이..) 디자이너들이 쓰기가 불편하다고 하고 퍼포먼스 및 퀄러티가 안나와서 다시 개발을 하기로 맘을 먹었지용.. (뜯어 고치는 수준이 아니라 아예 첨부터...개발 ㄱㄱㄱ)

그래서 그런지 3번의 큰 소스 뒤업기를 통한 결과가..다들 만족 스러워한다는..

 

풀 렌더링의 목표는 퍼포먼스! 최적화!

일단 풀들은 여러 종류의 풀이 있듯이 Texture가 여러개가 있지용.. 매번 렌더링 타임때 Texture를 로드해서 풀을 렌더링하기엔 빡실듯 하여 Composite Texture를 사용하기로 결정~!

 

 

요렇게 한장의 Texture에 풀 이미지들을 다 모아서 관리하도록 ~!!

 

두번째로는 풀은 같은 모양의 아이로 반복되어 그려지고 있기때문에 Instancing 을 사용하도록 하였지요. 그러나 여기서도 문제가.. Instancing에는 Shader Instancing과 Constant Instancing, 또 하나 더 있는데 까먹었어용.. 아무튼 Shader Instancing과 Constant Instancing 두개 중 하나를 사용을 하기로 했었는데 Shader Instancing은 크기가 각각 틀린 풀들을 따로 처리하기가 빡세서 Constant Instancing을 사용하기로 했지요.. 결과적으로 풀을 많이 뿌려도 왠만한 FPS를 기대 할 수 있다는.. ^-^

 

결과~!

 

보나스 에피소드 : 원래는 안움직이는 풀을 만들려고 했으나.... 누군가의 압박으로 "요새 어떤 게임이 풀이 안움직이냐~ WOW를 봐라 풀이 움직인다~" 라고 해서 자연스럽게 움직이도록 다시 만들었지요... 그러나 열심히 알아본 결과 WOW에서 풀은 안움직인다는...ㅡㅡ;;; (제가 알아봤을땐 안움직이는데~ 움직이나용~? 미스테리라는..)

'Or.......... > Work' 카테고리의 다른 글

Scene Graph Rendering  (0) 2009.08.27
kd-tree Introduction  (0) 2009.08.27
Water Rendering  (0) 2009.08.27
Flight Simulator : HUD - LCOSS  (0) 2009.08.27
Line - Line Intersect  (0) 2009.08.27
,