Tile Based Deferred Rendering

OpenGL 개발을 하다가 OpenGL ES로 넘어온 개발자라면

Tile Based Deferred Rendering 개념 때문에 머리를 쥐어 짜고 있을 것이다.

그런 분들을 위해 간단하게나마 개념을 정리해보겠다.

Immediate ModeRendering (IMR)

삼각형이 래스터화 되고 픽셀 단위로 쉐이딩 되는 전통적인 방식.

삼각형들이 파이프라인을 타고 즉시 이동한다.

전력이나 memory bandwidth 부분에서 비효율적이다. 

(Early Visibility Test 기능 : 이 기능을 사용하기 위해서는 삼각형이 정렬된 상태로 들어와야 한다따라서 어플리케이션 부분에서 삼각형을 sorting 해야 한다.) 


Tile BasedRendering (TBR)

임배디드에서 가장 비용이 큰 것은 메모리에 읽고 쓰는 것이다.

이는 전력 부분이나 memory bandwidth 이슈 전부에 해당한다.

따라서 임배디드에서 가장 효과적인 최적화 방법 중 하나가 메모리에 접근하는 횟수를 줄이는 것이다.

TDR도 이에 해당하는 방법으로IMR에서 눈에 보이는 삼각형을 골라내기 위해 사용했던 Z-buffer(깊이 버퍼)를 사용하지 않기 위해 고안된 방법이다.

렌더링할 화면을 여러 타일로 나누어서 타일 단위로 rasterization을 수행한다.

(시스템 상황에 따라서 동시에 이동하는 타일도 존재. 그러나 모든 삼각형이 즉시 파이프 라인을 타고 이동하지는 않는다.)

(한번 타일 단위로 나누면 하드웨어는 각 타일에 포함된 지오메트리리스트에 대한 포인터를 생성한다. 이것은 각 타일을 렌더링 할 때 관련된 기하정보를 가져오는 것을 가능하게한다.)

이렇게 타일 단위로 처리 하면 z-buffer를 쓰지 않고 system-memory에 존재하는 intermediate buffer 만으로 해결이 가능하다.


Tile BasedDeferred Rendering (TBDR)

TDR의 개선형이다.

TDR에서도 여전히 보이지 않는 부분에 대해서 쉐이딩이나 텍스처 매핑이발생한다.

TBDR에서는 GPU안에서 소팅을 통해서 삼각형의순서를 찾아내기 때문에 보이지 않는 부분을 제거 할 수 있다.

이 방법을 Hidden Surface Removal (HSR) 이라고한다.

의미 없는 삼각형을 제거하기 때문에 TBR보다 memory bandwidth가 효율적이다.

TBDR의 장점은 다음과 같다.

1. Z버퍼가 없어서 메모리 이용효율이 높다.

2. Z버퍼 접근이 없으므로 버스 소비가 적다.

3. 렌더링 순서를 신경 쓰지 않아도 올바르게 반투명 처리된다(blending효과).

 

by 위즌 | 2011/10/05 13:01 | 전공TALK | 트랙백 | 덧글(0)

인생단상(斷想)

사람은 누구나 자신을 특별하고 유능하다고 생각하고 싶어 한다.

그러나 사람은 대부분 평범하다. 능력의 차이도 극히 미세한 차이일 뿐.

정말로 특별하고 유능한 사람은

해변의 모래에 비유하면 한줌의 모래정도 밖에 안 될 만큼 적다.

이런 세상에서 평범한 우리는 어떻게 살아야 할까.

특별하고 유능한 사람들에 대해

일부의 사람은 시기하고 일부의 사람은 부러워하며 일부의 사람은 숭배한다.

당신은 어떤지.


시기하는 사람인가?


부러워하는 사람인가?


숭배하는 사람인가?

 




나는 괴짜라서 유능하고 특별한 사람한테 질 마음이 없다.

다른 모든 분야에서 지더라도

지금 내가 좋아하고 열심히 하는 이 분야에서만큼은 질 마음이 없다.

이렇게, 나는 이 세상을 산다.

아마 손으로 꼽지도 못할 만큼 좌절과 실패를 경험하게 되겠지만.

by 위즌 | 2011/09/10 22:48 | 신변잡기 | 트랙백 | 덧글(0)

입사했습니다.

연수중입니다.

저는 연구원으로 입사했습니다만

연수 과정중에 고객접점 채험이 있어서 재밌겠다고 생각했는데 말입니다.

이게 새끼줄 꼬이듯이 꼬였습니다...........

자세히는 말 못하지만 간단히 요약하면

담넘기. 드릴질. 사다리타기. 창고정리. 재수없는 넘(ㅅㅂㄹㅁ 손님이면 다냐!) 만나기. 등등등.

나름대로 재미는 있었지만 무지 힘드네요.



뭐, 신세한탄 하려고 한건 아니고.

이글을 몇명이나 보실지 모르겠지만 사회는 정말 만만하지가 않은것 같습니다.

혹시 미래가 정해지지 않은 학생분이시라면
(이 블로그 올정도면 대학생 이상이겠지만.....)

열심히 하시길 바랍니다.

정말 목숨걸고 일하고 계신 분들도 있다는거.

지금 여러분이 하고 있는 고생은 고생도 아니라는거.

편한것만 찾지 말고 한번 노력해 보라는거.


이것이 서비스인으로서의 참모습

by 위즌 | 2011/08/25 23:54 | 회사생활 | 트랙백 | 덧글(0)

요즘 화제가 되는 국가 주도의 OS 개발에 대한 단상.


 

얼마전 국가 주도로 LG와 삼성이 OS를 개발한다는 기사가 올라와 화재가 된적이 있습니다.

개발비의 비현실성. 개발기간의 비현실성.

이건 개발자라면 아무리 많아도 부족하다고 할 테니 넘어가고.
(나에게 무한의 시간과 무한의 자금을 줘!)

사실 사람들에게 잘 알려지지 않은 OS까지 합치면 대략 10여개의 OS가 개발되어 있는 상황입니다.

그런데도 많이 쓰이는 것은 안드로이드와 iOS.

다른 OS는 잘 쓰이지 않는 상황.

이런 상황에서 새로운 OS의 개발........ 이건 아니죠.

아마 아니라고 생각합니다.

단순히 기술 축적의 의미라면 적당한 OS 개발 회사를 사는게 더 효율적이죠.

요즘 문제가 되는 특허 문제등을 고려하면 그나마 특허를 많이 축적하고 있는 회사를 하나 M&A 하는게 더 좋죠.

왜 맨땅에 해딩을 하겠다는 건지.

이건 뭐 짜장면 먹고 싶다니까 밀가루를 주문한 것과 같은 이야기죠.

...................................

순수하게 개발 가능성을 따지면 국내기술로도 OS는 충분히 개발 가능할 겁니다.

IT 기술은 국내에도 제법 축적되어 있고 OS 개발자도 많이 있는 걸로 알고 있습니다.

그렇지만 효율성을 따졌을 때 어떤 것이 좋은가는 또 다른 문제죠.

구글이 언제까지 안드로이드를 버전업해 줄지 모르는 상황에서 OS의 필요성은 동감하지만. 과연........

by 위즌 | 2011/08/25 23:30 | 신변잡기 | 트랙백 | 덧글(4)

광주 민주화 운동이 있던 그날.

신념을 걸고 싸운 사람

입장상 손에 피를 뭍힌 사람

멀리서 바라본 사람

가까이서 바라본 사람

희생된 사람

희생한 사람

그리고 명령했던 사람. 사람. 사람.

무엇이 옳고, 무엇이 그르겠냐 만은

우리는 지금, 그 위에서 살아가고 있다.

by 위즌 | 2011/05/18 17:42 | 신변잡기 | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶