블로그 이미지
˙Jisoo

카테고리

분류 전체보기 (101)
Programming (35)
Game Project (23)
Almighty Engine (11)
Daily Life (19)
Photo Shots (11)
Total24,756
Today55
Yesterday56

'전체'에 해당되는 글 101건

  1. 2010/08/07 하늘
  2. 2010/08/05 몇가지 추가 (1)
  3. 2010/08/03 자원 관리 쓰레드
  4. 2010/07/28 Texture Address Mode
  5. 2010/07/28 타일간의 경계 문제
  6. 2010/07/27 로딩 방식 변경 & 노멀맵
  7. 2010/07/24 버그 수정
  8. 2010/07/24 타일 붙이기
  9. 2010/07/20 BTT 인덱스버퍼 자동생성
  10. 2010/07/19 다시 지형..

영 어색하지만.. 스카이돔을 이용해서 단색하늘을 좀 바꾸었습니다.
이 상태에서나 스카이박스를 만들어서 그냥 텍스쳐를 발라버리면 훨씬 사실감이 들겠지만(실사니까) 오픈월드 형식 게임엔진에서는 보통 dynamic sky + volumetric cloud 조합으로 가는 추세인 것 같아서..
물론 지금 해놓은건 다이나믹 환경 조성이 실제 환경에 맞춘것도 아니고 단순 색상변경으로 해주고 구름 한 점 없긴 하지만 그렇다고 그냥 텍스쳐를 하늘에 발라놓는건 왠지 내키질 않네요..
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

하늘  (0) 2010/08/07
몇가지 추가  (1) 2010/08/05
자원 관리 쓰레드  (0) 2010/08/03
Texture Address Mode  (0) 2010/07/28
타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
Posted by ˙Jisoo

댓글을 달아 주세요


포그를 추가해주고 스플래팅 기능을 넣었습니다.
버텍스기반의 linear 포그는 버텍스 쉐이더 쪽에서 비율만 계산하여 FOG 레지스터로 값을 넘기면 DirectX 상에서 포그활성화만 시켜주면 되네요.
스플래팅은 예전에 구현해놔서  다시 넣는데 큰 문제는 없었네요..
이제 예전에 만들었던 지형시스템과 얼추 비슷해졌네요. 다른점이라면 타일기반으로 변경하여 SLOD를 사용한다는것이 되겠네요.
덕분에 훨씬 큰 지형을 만들 수 있긴 한데 그 큰걸 높이맵 만들고 스플래팅맵 만들고 하는게 힘드네요;; 스플래팅맵이 없는 타일은 너무 단조로울까봐 일단 경사에따라 다른 텍스쳐를 섞도록 했습니다. (현재 그림상에는 스플래팅맵 사용 안됨)
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

하늘  (0) 2010/08/07
몇가지 추가  (1) 2010/08/05
자원 관리 쓰레드  (0) 2010/08/03
Texture Address Mode  (0) 2010/07/28
타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
Posted by ˙Jisoo

댓글을 달아 주세요

  1. 2010/09/03 16:16 ghd hair straightener  댓글주소  수정/삭제  댓글쓰기

    포그를 추가해주고 스플래팅 기능을 넣었습니다.
    버텍스기반의 linear 포그는 버텍스 쉐이더 쪽에서 비율만 계산하여 FOG 레지스터로 값을 넘기면 DirectX 상에서 포그활성화만 시켜주면 되네요.

 

자원관리 클래스 테스트겸 지형 노멀맵 불러오는 과정을 동영상으로 찍어보았습니다.
타일당 텍스쳐 크기가 너무 작아서 순식간에 불러와지기에 Sleep으로 딜레이를 주고 테스트 했습니다.
이렇게 텍스쳐 크기가 작은경우엔 상관 없겠지만 고해상도 텍스쳐들을 사용 할 경우에 로딩후에 갑자기 뜨는 (지금의 동영상과 같은) 현상이 심해질테니 밉맵순서별로 로딩해서 뿌려주는 방법도 찾아봐야겠네요..
일단 직접 밉맵을 순서대로 불러오려면 JPG가 아닌 다른 포맷으로 미리 밉맵이 생성된 상태에서 불러와야 할 것 같은 예감이 드네요;;
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

하늘  (0) 2010/08/07
몇가지 추가  (1) 2010/08/05
자원 관리 쓰레드  (0) 2010/08/03
Texture Address Mode  (0) 2010/07/28
타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
Posted by ˙Jisoo

댓글을 달아 주세요



한 타일 내 버텍스의 UV값이 0.0~1.0 사이라 해도 Texture Address Mode의 설정값에 따라 모서리부분에 영향을 주나봅니다.
예를들어 Wrap 모드의 경우에 타일형식으로 계속 뿌려주니 모서리 부분에서 보간을 해주는데 타일로 의도하지 않았는데도 알아서 보간을 해주네요.
그 결과 이전 포스트에서 보던 알 수 없는 경계선이 나오게 되더군요.
그래서 Texture Address Mode를 1.0 이상 벗어나면 그냥 그 값을 유지하는 Clamp 모드로 변경 해 주었더니 모서리부분이 마음대로 보간되는 현상은 없어졌습니다.
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

몇가지 추가  (1) 2010/08/05
자원 관리 쓰레드  (0) 2010/08/03
Texture Address Mode  (0) 2010/07/28
타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
Posted by ˙Jisoo

댓글을 달아 주세요




처음 만들 때 부터 타일간의 경계에서 이런 문제가 발생할 거라고 예상은 했지만 그냥 그대로 가기엔 너무 돋보여서 해결책을 찾아봐야 할 듯 하네요..ㅠ.ㅠ

저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

자원 관리 쓰레드  (0) 2010/08/03
Texture Address Mode  (0) 2010/07/28
타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
타일 붙이기  (0) 2010/07/24
Posted by ˙Jisoo

댓글을 달아 주세요





로딩을 한번에 다 불러오지 않고 어느정도 구역 안에 들어오면 로딩을 하고 벗어나면 해제하는 식으로 변경하였습니다.
그리고 예전처럼 미리 라이트맵을 저장하여 각 타일마다 관리를 하려고 했는데 라이트맵을 미리 저장 할 경우 빛의 방향이 바뀌면 라이트맵을 항상 갱신해줘야 해서 불편한 점이 있었기에 노멀맵을 저장해놓고 픽셀쉐이더 부분에서 계산해주도록 하였습니다.
만약 노멀맵/라이트맵을 따로 추출하지 않고 그냥 버텍스단위 라이팅을 주면 멀어질수록 디테일이 확연히 떨어집니다.

버텍스 단위 라이팅 적용시  http://www.js-almighty.com/44
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

Texture Address Mode  (0) 2010/07/28
타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
타일 붙이기  (0) 2010/07/24
BTT 인덱스버퍼 자동생성  (0) 2010/07/20
Posted by ˙Jisoo

댓글을 달아 주세요


좌표 설정이 잘못되었었네요.. 변수선언은 x,y 인식은 가로/세로, 실질적 처리는 x,z... 좌표축을 자꾸 바꿔버리다보니 버그라기보단 자꾸 어이없는 실수가;;

그리고 LOD 단계마다 구분이 잘 되도록 거리를 확확줄였습니다.
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
타일 붙이기  (0) 2010/07/24
BTT 인덱스버퍼 자동생성  (0) 2010/07/20
다시 지형..  (0) 2010/07/19
Posted by ˙Jisoo

댓글을 달아 주세요


쿼드트리로 한번 걸러내고 활성화된 타일들에 대해 lod레벨과 방향을 잡아주고 있습니다.
지금은 테스트용으로 64*64 짜리 16*16 개가 붙어있는 상태입니다.
스크린샷 찍고 올리기전에 좀 더 테스트 해보다 보니 방향잡아주는 곳에서 버그가 ㅠ.ㅠ
버그 잡아주고 타일별로 노멀맵을 추출하는 작업까지 하고나면 자원 관리용 쓰레드를 따로 만들어줘야 겠네요 따로 로딩화면 없이 돌아다닐 수 있어야 하니..
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
타일 붙이기  (0) 2010/07/24
BTT 인덱스버퍼 자동생성  (0) 2010/07/20
다시 지형..  (0) 2010/07/19
Posted by ˙Jisoo

댓글을 달아 주세요


삼각형을 점점 쪼개가는 방식으로  재귀호출로 돌려놓으면 되니 인덱스 생성하는게 편하네요.
균열방지용으로 테두리부분은 한번씩 더 쪼개주면 되고..
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
타일 붙이기  (0) 2010/07/24
BTT 인덱스버퍼 자동생성  (0) 2010/07/20
다시 지형..  (0) 2010/07/19
Posted by ˙Jisoo

댓글을 달아 주세요



예전에 지형 시스템을 만들긴 했었는데 책대로만 따라했던거라 직접 다시 만들어보고 있습니다.
그때 당시에 용책과 해골책을 참고하여 만들었는데 계속 실시간으로 인덱스를 계산해주는 방식이었습니다.
그런데 문제가 지형의 크기가 커지면 커질수록 계산 비용이 너무 커서 그냥 랜더링하는게 나을 정도로 비효율적인 결과가 나왔습니다..
그에대한 방안으로 SLOD라는 인덱스들이 타일형식으로 미리 계산된 LOD방식을 알아보았는데 여기서도 또 많은 의견이 나뉘더군요.
여기저기 찾아보니 요즘 그래픽 가속 성능이면 LOD가 필요없다는 말들도 있고.. 짧은 저의 소견으로는 MMORPG나 RTS같이 위에서 내려다보는 빈도가 높은 장르에서는 타일은 이용하지만 LOD는 필요없고, RPG나 TPS같이 전경을 바라보는 빈도가 많은 장르에서는 LOD가 어느정도 필요할 듯 싶습니다.
시작은 SLOD 방식으로 하기로 했으니 장점을 최대한 살려볼 계획입니다. (아주 먼~ 지형까지 표현한다던지..)

첨부된 이미지는 BTT(Binary Triangle Trees)를 이용한 인덱스버퍼 생성 방식입니다.
Binary Triangle Trees for Terrain Tile Index Buffer Generation
http://www.gamasutra.com/features/20061221/dallaire_01.shtml
GPG2권에 있는 'Interlocking Tiles' 방식보다 생성해놔야 할 인덱스버퍼수도 줄이고 레벨 단위가 ILT에 비해 2배정도 많아 자연스럽게 단계를 나눠간다는 장점이 있다 합니다.
구글링 해보니 지형의 복잡도에 따라 정점을 줄여주는 ROAM 알고리즘에서 BTT를 사용하는건 많이 보이는데 반해 타일형식으로 이용하는건 보이질 않더군요.
속도측정을 위해 막 여러개 복사시키고 화면에 겹쳐뿌리고 인덱스버퍼설정도 마구 바꾸고 했는데 큰 문제가 보이진 않았기에 일단 강행 할 예정입니다 ㅡ.ㅡ; 적어도 CLOD보다는 나으리라 생각하며...
저작자 표시 비영리 동일 조건 변경 허락

'Almighty Engine > Terrain System' 카테고리의 다른 글

타일간의 경계 문제  (0) 2010/07/28
로딩 방식 변경 & 노멀맵  (0) 2010/07/27
버그 수정  (0) 2010/07/24
타일 붙이기  (0) 2010/07/24
BTT 인덱스버퍼 자동생성  (0) 2010/07/20
다시 지형..  (0) 2010/07/19
Posted by ˙Jisoo

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함