• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

팁사용기

[팁] OpenGL 질문....

본문

1. 임플리먼테이션이 머죠?
2. 소프트웨어와 하드웨어의 차이??
3. 파이프라인이 무엇이죠?
4. 파이프라인의 구조

부탁드립니다
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.

최신글이 없습니다.

최신글이 없습니다.

댓글목록 5

美청년.영환군님의 댓글

일단 임플리먼테이션(implementation)에 대한 것은 C를 공부하셨다고 하니..
C에서도 나오는 접하셨을 겁니다.

일반적으로 구현한다라는 의미로 받아들여지는데 예를 들어 C에서 어떤 함수 (여기서는 정수형 int 를 예로 들어) 이 함수의 크기가 DOS에서는 2바이트의 크기를 unix 또는 32bit Windows에서는 4바이트의 크기..
뿐만 아니라 컴파일러에 따라 DOS 상에서도 4바이트의 크기로 구현이 되기도 합니다.

즉 implementation 라는 것의 의미를 "지정한 함수 또는 메소드는 운영체제 또는 컴파일에에 의존한다.." 라고 해석하시는 것이..

쉽게 현재 사용되는 환경에 따라 구현된다 라고 이해하시면 됩니다.
제 설명이 좀 애매할 수도 있겠군요.

C에 해당해 설명을 드렸는데 OpenGL에서도 그 근본적 의미는 같다고 보시면 됩니다.

SW 와 HW의 차이는.. 아마도 렌더러에 대한 내용을 질문하신거 같은데..

NetImmerse 를 이용한 프로젝트에 대한 글을 본 기억이 있어서..

NDL엔진이라고도 불려지는데..

NDL 엔진은 Direct3D와 OpenGL가속을 지원하고 D3D나 OpenGL을 지원하는 그래픽 엑셀레이터를 설치한 시스템에서는 하드웨어 T&L가속을 지원 받을 수 있다고 내용은 기억합니다.

특히나 NetImmerse가 독자적으로 전체 hardware vector processing units, the graphics synthesizer and hardware DMA를 구현하해서Machintosh 플랫폼에서는 OpenGL을 통한 가속이 이루어집니다.

정확한 내용은 사용되어지는 플랫폼과 기반환경(개발 엔진)에 따라 HW 가속기능의 활용등에 대해 공부를 해보시는 것이 좋겠네요.

파이프라인(pipeline)은 아마도 렌더링 파이프 라인에 대한 설명을 원하시는 것 같은데..

혹시 그것이라면 렌더링 파이프라인은 3D로 정의된 물체들을 모니터상에 나타내기 위한 일련의 변환과정, 전체 파이프라인은 Transform뿐만 아니라 텍스쳐, 조명처리, 클리핑등의 더욱 많은 과정이 포함되어있음.

이라고 인터넷을 뒤져보면 내용이 나옵니다.

OpenGL의 내용은 아니지만 DirectX의 Transform pipeline 의 내용을 보면

각각의 정점, 폴리곤은 각자의 local 좌표계에서 만들어 지게되고 이것을 사용자가 3D 화면으로 볼때는 각각 따로 보는 것이 아닌 여러물체를 한번에 보게되는데 그것을 위해 각자의 local 좌표계에 존재하는 오브젝트들을 하나의 좌표계 (World 좌표계)로 만들어주는 것을 렌더링 파이프라인의 첫단계인 World transform 이라고 합니다.

다음으로 각각의 오브젝트들을 보는 위치를 지정해주게 되는데 카메라(View)를 기준으로 오브젝트들의 위치를 변환합니다. 이것을 View transform이라고 합니다.

마지막으로 Projection transform 은 카메라를 통해 오브젝트를 보는 방법을 지정하는 것을 말합니다.

일반적으로 원근감있게 보는 Perspective Projection 이나 CAD 등에 쓰이는 Parallel Projection 이 있습니다.

이렇게 렌더링 파이프라인에서 World transform, View transform, Projection transform 의 변환을 거쳐 3D 화면이 사용자에게 2D 화면으로 바뀌어 모니터에 출력되게 되는 겁니다.

나머지는 다음분께 패스~

너무슬픈프린이님의 댓글

2. 소프트웨어 임플리먼테이션, 하드웨어 임플리먼테이션의 차이
라고 써야 되는데 쓰지 않았군요...
뭐 유용한 답변이었습니다

너무슬픈프린이님의 댓글

추가질문
5. OpenGL 엔 커서 바꾸기, 창 크기 조절하기 등은 없고 운영체제 API의 도움을 받아야 되나요?
6. OpenGL 에 Sound 를 집어넣는것이 가능합니까??
7. 3ds max 같은걸로 만든 물체 등을 OpenGL 에 넣을수 있습니까??

조윤원님의 댓글

5. OpenGL 엔 커서 바꾸기, 창 크기 조절하기 등은 없고 운영체제 API의 도움을 받아야 되나요?

넵.. 어짜피 openGL도 하나의 api불가하지 않습니까.. 때문에 윈도우 사이즈를 바꾸시기 원하신다면 운영체제의 api를 사용하시면 됩니다.

6. OpenGL 에 Sound 를 집어넣는것이 가능합니까??
OPenGL자체에는 사운드제어 함수가 없습니다. 그래서 윈도우쪽에선 direct sound를 같이 사용하고 맥에선 openAL를 사용하면 보다빠르게 처리할수있습니다.  동시에 처리가 된다는 의미이지.. openGL안에 포함되어있진 않습니다.

7. 3ds max 같은걸로 만든 물체 등을 OpenGL 에 넣을수 있습니까??
openGL의 api에는 직접 다른 모델링된 파일을 불러올수 없습니다만.. 3ds파일 로더를 만들어서 사용하면 됩니다. 아직 저도 여기까지 해보진 못해 링크를 걸어둡니다. <a href=http://www.spacesimulator.net/tut4_3dsloader.html target=_blank>http://www.spacesimulator.net/tut4_3dsloader.html</a>

최기수님의 댓글

전체 10 건 - 1 페이지