Ogre vs Irrlicht

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

Ogre vs Irrlicht

Post by 비회원 »

맨날 눈팅만 하다 첨으로 글남기는군요.
공개엔진중 가장 낫다고 평가되는 오거엔진과 일리히트의 장단점에 대해 오거포럼에 나온 글입니다.
3d엔진 공부하실분들께 참고가 되셨으면 좋겠네요.
제 느낌으로도 거의 이대로인것 같습니다. 오거의 렌더링(딴거 다 빼고)은 상용화 엔진 못지 않습니다. 어짜피 기대하는것도 그것만이니까요. 말 그대로 That's exactly what I expect from Ogre. No more, no less!입니다.

( + 항목은 장점, - 항목은 단점)

<Irrlicht:>
+ Collision Detection
+ Great Tutorials
+ Awesomely easy api
+ Great GUI
+ Large Community
- Fairly badly designed internally
- Not extensible
- Graphics aren't top of the line
- No CVS
- One Developer

<Ogre: >
+ "Holy Shit, thats fricken amazing" graphics (TM)
+ Sinbad (tm) super clean code style (신바드님은 오거 엔진 메인 프로그래머입니다)
+ HUGE Community
+ Lots of plugins (OgreTok as mentioned above)
+ SHADERS (which irrlicht lacks)
+ Huge
- Graphics, no more, no less
- No real dev c++ support (its a - since i use it )
- Subpar GUI (but that's being fixed by Crazy Eddie ( i think still) )
- Huge
- Larger Learning Curve than irrlicht

전체적으로는 오거에 점수를 더 주고 싶습니다. 기능은 일리히트가 더 낫지만 렌더링 엔진이라는 측면에서 오거의 멋진 화면이 돋보이기도 하고, 부족한 기능은 풍부한 addon으로 해결 할 수 있으니까요. 특히 적혀있듯이 커뮤니티가 넓어서 공부하는데 상당한 도움이 됩니다.(개발자분들이 거의 실시간으로 답변해줍니다)

그런데 한국에서도 오거 포럼이나 그런 커뮤니티가 있나요? 있다면 추천좀 부탁합니다.
비회원

저도 ogre에 한표~

Post by 비회원 »

해외의 여러 인디게임의 개발로 인해 어느정도 성능은 입증이 되었죠..
아직 오우거를 사용한 상용게임은 나오지 않았지만 말이죠..^^;

국내에선 거의 분석용으로만 유명한것 같습니다.
일본의 동인게임개발자들 처럼 코딩기술 하나하나 보다는 특정 엔진을 사용해 순수한 게임개발에 관한
얘기가 활발해 졌으면 하는 바램입니다..^^
kjs335
Posts: 83
Joined: 2004-04-09 17:21

Post by kjs335 »

아직 오우거를 사용한 상용게임은 나오지 않았지만 말이죠..^^;
Ankh 라고 독일 인디 개발사에서 오우거를 사용해 만든 상용게임이 있습니다.

저도 특정엔진을 사용해서 순수한 게임개발에 대해 좀더 관심이 모였으면 좋겠습니다.
+ "Holy Shit, thats fricken amazing" graphics (TM)
fricken이 아니고 freaking 입니다 :)
비회원

OGRE 엔진 등을 써서 상용게임을 출시할 경우 ..

Post by 비회원 »

Ogre 나 이리힛 엔진등을 사용해
상용게임을 만드는 그런 경우에는
GPL 라이센스에 따라 어떤걸 해야 하나요 ?

만일 엔진소스를 조금 변경했다라고하면
게임소스까지 오픈해야 하나요 , 아니면 엔진소스만 다시 오픈하나요 ?

엔진소스 한줄도 변경없이
게임을 만들어 냈다면 그냥 아무제약없이
상용서비스를 할 수 있는지요 ?
starlike
Posts: 17
Joined: 2005-11-28 19:21
Contact:

Re: OGRE 엔진 등을 써서 상용게임을 출시할 경우 ..

Post by starlike »

비회원 wrote:Ogre 나 이리힛 엔진등을 사용해
상용게임을 만드는 그런 경우에는
GPL 라이센스에 따라 어떤걸 해야 하나요 ?

만일 엔진소스를 조금 변경했다라고하면
게임소스까지 오픈해야 하나요 , 아니면 엔진소스만 다시 오픈하나요 ?

엔진소스 한줄도 변경없이
게임을 만들어 냈다면 그냥 아무제약없이
상용서비스를 할 수 있는지요 ?
Ogre는 LGPL입니다. 엔진 소스 변경 부분만 공개하면 된다고 나와 있습니다.
또한 말씀하신 것처럼 엔진소스 변경이 없다면 상용으로 사용하는데에도 전혀 문제가 되지 않습니다.

그런데, 포럼 어디선가 dll을 사용해서 배포하는 것을 문제 삼는 글을 읽은 기억이 어렴풋이 있습니다.
비회원 wrote: 그런데 한국에서도 오거 포럼이나 그런 커뮤니티가 있나요? 있다면 추천좀 부탁합니다.
흠...나름대로 관심이 있어서 포럼이나 커뮤니티를 찾아보다가 결국 못찾고, 제가 그냥 네이버 카페하나 만들었습니다.
하지만 거의 저 혼자 쓰다시피 하고 있습니다. ^^ 관심있으신 분은 많이 들려서 글 좀 많이 남겨주세요...(때아닌 광고입니다...^^)
seeper
Posts: 1483
Joined: 2003-06-06 23:19
Contact:

Post by seeper »

GPL, LGPL은 상용이냐 비상용이냐는 거의 무관합니다.
단, 배포시 소스를 공개하느냐 아니냐가 중요합니다.

GPL은 DLL이고 뭐고 필요 없고 같이 실행된다면 무조건 공개여야 합니다.
전염성이 아주 강한 라이센스죠.
그런데 MFC7의 경우 같이 DLL을 배포해야합니다.
결국 라이센스 충돌이 일어나서 MFC7을 이용하면 배포 불가합니다.

LGPL은 GPL보다 전염성이 낮은 라이센스라고 생각하면 됩니다. (Lesser GPL)
DLL로 만들어 사용한다면 같은 DLL외의 것은 공개를 하지 않아도 되는 라이센스 입니다.

만약 GPL인데 DLL로 분리해서 배포해도 괜찮겠지라는 생각을 하면 안됩니다.
그건 LGPL일때 가능한 경우입니다.
seeper0 (a) gmail.com [email주소 무단수집거부]
비회원

위의 내용만 읽고 OGRE나 Irrlicht 에 대한 생각이 고정되기 쉽

Post by 비회원 »

판단은 실제로 사용해 본 사람들의 다양한 의견을
고루 듣고 내려보아야 할텐데,
인용 글은 OGRE쪽으로 무게가 실린 것 같습니다.

OGRE나 Irrlicht 에 대한 생각이 고정되기 쉬울 것 같은데,
포럼에서 좀 더 다양한 의견들을 읽어 봐야겠네요.....
pacman
Posts: 188
Joined: 2004-04-13 12:48

둘다 훌륭합니다. 다만 사용자의 기호에 따라...

Post by pacman »

IrrLicht와 Ogre 둘다 훌륭한 엔진이라는 데는 이견이 없을 줄로 압니다.
각기 장단점이 있기 때문에 어느 것이 무조건 더 낫다고 말하는 것은 별 의미가 없습니다.
마치 인터넷상의 사자 vs 호랑이 논쟁처럼요.
글 올리신 분도 두 엔진에 대한 이해를 돕고 게임 개발에 적극 활용하기를 바라는 의도로 글을 쓰신 것 같습니다.

일리힛은 클래스 계층 구조가 깔끔하게 잘 짜여져 있어서 사용하기 정말 편합니다.
튜토리얼을 보면 어쩌면 이렇게 쉽게 만들수가 있을까라고 생각할 정도입니다.
인터페이스를 통한 확장성도 뛰어나고요.
전체적인 엔진 설계는 일리힛을 본받는 것이 좋겠습니다.

오우거는 딴건 몰라도 렌더링에서는 일리힛보다 낫습니다.
오우거의 재질 스크립트는 퀘이크3의 셰이더, 퀘이크4의 머티리얼과 비슷한 텍스트 파일의 형태로써 렌더링에 관련된 각종 설정을 할 수 있고, 정점 및 픽셀 셰이더 프로그램과 연동이 되어 있습니다.
저는 이것이 너무나 완벽해 보여서 매뉴얼을 보는 내내 감탄을 금치 못했었습니다.
파티클 스크립트도 훌륭하고요.
기능이 많은 만큼 일리힛보다 공부할 것이 많지만
문서화, 포럼이 잘 유지 되고 있어서 쉽게 도움을 받을 수 있습니다.

두 공개 엔진 모두 훌륭하다고는 하나 게임에 필요한 것을 완전히 제공해주지는 못하고 있습니다.
둘다 상용엔진에 버금가는 맵툴이 없습니다.
공개 엔진을 쓰는 대신 부족한 도구는 자체적으로 구현해야 합니다.
자기 맘에 딱 맞는 엔진을 공개 엔진 중에서 찾기는 어려울 것입니다.
개인적으로는 일리힛과 오우거의 장점만을 흡수하고 부족한 점을 보충해서 새로운 지존급의 공개 엔진이 나왔으면 좋겠다는 상상을 해 봅니다. ^^;

일리힛은 ZLIB 라이센스이기 때문에 마음대로 변경해도 문제가 없고,
오우거는 LPGL 입니다. 엔진 소스를 변경할 시 변경된 부분과 명세를 오우거 커뮤니티에 공개해야 합니다.

그리고 starlike님이 만든 카페가 있었군요. 고맙습니다. 바로 가입했습니다. ^^
Last edited by pacman on 2006-01-06 16:22, edited 5 times in total.
배우고 때맞춰 익히니 기쁘지 아니한가!
비회원

이리힛 엔진의 치명적 결함 아닌가요 ?

Post by 비회원 »

또한 스키닝이나 뼈대 애니메이션을 지원하지 않습니다.
상용 게임을 만든다면 자체 포맷의 메시와 애니메이션을 구현해야 합니다.
근데 이거 치명적 약점 아닌가요 ?
캐릭터 엔진은 거의 없다는 뜻이나 마찬가지로 보이는데요
특히 우리나라가 MMO 스타일 게임이라고 본다면
게임 용량 문제나 디자이너 생산성 문제로 인해서 바이페드 피직 지원은
반드시 되어야 할텐데요
비회원

렌더링 이라는 뜻이 ..

Post by 비회원 »

오우거는 딴건 몰라도 렌더링에서는 일리힛보다 낫습니다.
렌더링의 뜻이 범프 ,노말맵 ,환경맵, HDR,픽셀 쉐이더 등을 얘기하는 건지요 ?
pacman
Posts: 188
Joined: 2004-04-13 12:48

일리힛 뼈대 애니메이션 지원합니다.

Post by pacman »

헛 죄송합니다. 제가 잘못 알고 있었네요.
대부분의 예제가 md2 파일만을 다루고 있어서 착각을 했네요.
밀크 쉐이프와 x 파일을 지원하는군요.
Skeletal animation: A skin is manipulated by animated joints. The Irrlicht Engine will do this when loading .ms3d or .x files. It is easily possible to attach objects to parts of the animated model. It is possible e.g. to attach a weapon to the hand of a model, which will be moved as the hand moves, with only one line of code.
일리힛이든 오우거든 메시와 애니메이션에 부족한 점이 많으므로
자체 포맷의 메시와 애니메이션 및 익스포터를 구현해야 할 것으로 생각됩니다.
렌더링의 뜻이 범프 ,노말맵 ,환경맵, HDR,픽셀 쉐이더 등을 얘기하는 건지요 ?
일리힛도 범프, 노말맵, 환경맵, 쉐이더 등을 지원합니다. 다만 일리힛은 정점 버퍼, 인덱스 버퍼 같은 하드웨어 버퍼를 사용하지 않기 때문에 오우거보다 퍼포먼스가 떨어진다고 봅니다.
이에 비해 오우거는 재질 스크립트로 보다 다양한 설정을 할 수 있고, 하드웨어 버퍼를 사용합니다.
Last edited by pacman on 2006-01-06 14:52, edited 1 time in total.
배우고 때맞춰 익히니 기쁘지 아니한가!
비회원

x 화일 이나 md2 라면 ..

Post by 비회원 »

애니메이션에서 뼈대를 지원하기 위해서
x 화일 을 사용한다면 애니메이션과 메쉬의 분리및 공유가
어려울텐데 그러면 MMO 게임에 효율적이진 않을 듯 싶은데요

그렇다면 결국 MMO 로 사용하기 위해서는
애니메이션 플러그인 및 로더를 새로 만들어 주어야 한다는 뜻이군요.
비회원

Post by 비회원 »

애니메이션에서 뼈대를 지원하기 위해서
x 화일 을 사용한다면 애니메이션과 메쉬의 분리및 공유가
어려울텐데 그러면 MMO 게임에 효율적이진 않을 듯 싶은데요

그렇다면 결국 MMO 로 사용하기 위해서는
애니메이션 플러그인 및 로더를 새로 만들어 주어야 한다는 뜻이군요.
Irrlicht자체가 준 범용이긴 하나 거의 FPS게임에 최적화 되어있습니다...
MMORPG게임을 생각하신다면 Ogre엔진이 오히려 괜찮을듯...
허나 범용엔진의 특성상... 특정게임에 최적화를 위해선 튜닝을 해야죠...;;
kjs335
Posts: 83
Joined: 2004-04-09 17:21

Re: x 화일 이나 md2 라면 ..

Post by kjs335 »

비회원 wrote:애니메이션에서 뼈대를 지원하기 위해서
x 화일 을 사용한다면 애니메이션과 메쉬의 분리및 공유가
어려울텐데 그러면 MMO 게임에 효율적이진 않을 듯 싶은데요

그렇다면 결국 MMO 로 사용하기 위해서는
애니메이션 플러그인 및 로더를 새로 만들어 주어야 한다는 뜻이군요.
Irricht는 잘모르지만 오우거는 전용 포맷이 있습니다.
보니깐 자체 포맷 만들필요 없어 보이던데요?
비회원

그런데 자체 포맷이 ..

Post by 비회원 »

Irricht는 잘모르지만 오우거는 전용 포맷이 있습니다.
보니깐 자체 포맷 만들필요 없어 보이던데요?
그 자체 포맷이 바이페드, 피지크 지원하는 건가요 ?
위 영문 문서를 보니 하이아키 보운 일때는 x 화일 md2 일때
지원한다는 의미도 함축된거 아닌가요 ?
비회원

흠... 사양서를 보니..

Post by 비회원 »

Animation :
Inverse Kinematics, Skeletal Animation, Animation Blending:
• Skeletal animation, including blending of multiple animations, variable bone weight skinning.

Meshes :
Mesh Loading, Skinning, Progressive:
• Hardware-accelerated skinning
• Flexible mesh data formats accepted
• Export from many modelling tools including Milkshape3D, 3D Studio Max, Maya, Blender and Wings3D.

확인해본 바..3D맥스 플러그인에서 바이팻 지원합니다. 트위닝/스키닝 모두 지원하네요..
Ogre용 Cal3d플러그인도 있습니다.

ps : 개인적으로 Ogre보단... 네불라2쪽에 더 침을 흘리게 된다는..ㅋㅋ
비회원

Post by 비회원 »

최근에 OGRE, IRRLICHT를 모두 손대봤습니다.
그리고 둘다 버리고 자체 엔진 제작으로 전향했습니다. 이유는 다음과 같습니다.

OGRE: 기본적으로 scene 계층 구조를 지원안합니다. 그 흔한 X 파일도 지원하는데 말입니다. dotscene plugin이 있다길래 뒤져봤는데, 이건 애니메이션을 지원하지 않습니다. 결론적으로 계층 구조의 키프레임 애니메이션 객체를 쓰려면 자체 포맷을 만들어야 합니다.

irrlight: DrawIndexedPrimitiveUP()만 씁니다. -_-;

ogre가 유지보수가 난잡하다는 흠이 있지만 전반적으로 ogre가 보유 기능이 풍부합니다.
비회원

Post by 비회원 »

GPL 라이센스라고 상용이 불가능한건 아닌거 같습니다.

그리고, 이런 경우도 허용이 되는것 같더군요.

GPL 라이센스 소스를 가져서 만든 소프트웨어를, 어떤 회사에 납품을 한경우

그 소스코드를 납품한 회사에만 제출하면 되는것 같습니다.

즉, 소프트웨어를 배포하는 대상에게 소스코드를 공개하면 되는것이지 굳이 웹에 올려서

불특정 다수에게 모두 공개해야되는 의무까지는 없는거 같습니다.

다만, 소프트웨어 구매자가 이를 대중에 공개하는 경우도 막을 방법은 없다고 하네요.

http://bbs.kldp.org/viewtopic.php?t=635 ... 9%E8%C6%F7

게임클라이언트는 불특정 다수가 고객인지라 별 차이가 없게지만요. :)
쌀밥
Posts: 1058
Joined: 2003-02-02 20:23
Location: THQ Inc.
Contact:

Post by 쌀밥 »

seeper wrote:GPL, LGPL은 상용이냐 비상용이냐는 거의 무관합니다.
단, 배포시 소스를 공개하느냐 아니냐가 중요합니다.
GPL/LGPL은 'S/W 독점 소유권'에 반대하기 위해 생겨난 저작권입니다.
소스 코드의 공개 여부는 부수적인 것이고,
더욱 중요한 문제는 해당 S/W에 대한 소유권을 '모두(public)'가 갖느냐 '독점'하느냐를 구분 짖는 것입니다.
그리고 여기서 독점이란 상용화를 의미하는 것이죠.
소스 코드를 공개하더라도 돈을 받고 공개하는 등의 방식은 허용되지 않습니다.
seeper wrote:GPL은 DLL이고 뭐고 필요 없고 같이 실행된다면 무조건 공개여야 합니다.
전염성이 아주 강한 라이센스죠.
그런데 MFC7의 경우 같이 DLL을 배포해야합니다.
결국 라이센스 충돌이 일어나서 MFC7을 이용하면 배포 불가합니다.
이런 경우 소스 코드만 공개하는 방식으로 배포가 가능합니다.
실례로 X-Box에서 돌아가는 MediaPlayer의 경우 X-Box용 개발 라이브러리(XDK)를 사용해서 컴파일 해야했기 때문에
바이너리 코드는 배포하지 못하고, 소스 코드만 공개해 왔습니다.
컴파일을 각자 알아서 해야한다는 불편이 있기는 하지만, 어차피 GPL 코드면 소스 공개는 당연한 것이니, 배포 자체는 불가능한게 아니지요...
seeper wrote:LGPL은 GPL보다 전염성이 낮은 라이센스라고 생각하면 됩니다. (Lesser GPL)
DLL로 만들어 사용한다면 같은 DLL외의 것은 공개를 하지 않아도 되는 라이센스 입니다.

만약 GPL인데 DLL로 분리해서 배포해도 괜찮겠지라는 생각을 하면 안됩니다.
그건 LGPL일때 가능한 경우입니다.
대부분의 라이브러리 들은 LGPL (역사적인 이유로 'LGPL'을 '라이브러리 GPL'이라고도 부릅니다.) 이니... 공개 코드들을 적극 활용하는 것을 생활화합시다.
I want to live in korea, making programs, but...
http://wrice.egloos.com
seeper
Posts: 1483
Joined: 2003-06-06 23:19
Contact:

Post by seeper »

쌀밥 wrote:GPL/LGPL은 'S/W 독점 소유권'에 반대하기 위해 생겨난 저작권입니다.
소스 코드의 공개 여부는 부수적인 것이고,
더욱 중요한 문제는 해당 S/W에 대한 소유권을 '모두(public)'가 갖느냐 '독점'하느냐를 구분 짖는 것입니다.
그리고 여기서 독점이란 상용화를 의미하는 것이죠.
소스 코드를 공개하더라도 돈을 받고 공개하는 등의 방식은 허용되지 않습니다.
소스코드를 돈받고 파는 형태가 있다는걸 생각못하고 포스팅했습니다.
하지만 독점권과 상용화가 같은 의미한다고 생각하지는 않습니다.
어쨌건 소스공개하되 게임 패키지나 온라인 상용서비스가 가능하긴 합니다.
(리소스까지 GPL로 전염 되는지는 모르겠습니다. 안될것 같습니다만.... 이건 정확하지 않군요.)
다만 재배포가 허용까지되니 상용화가 힘든면이 있는건 사실이죠.
(짝퉁게임 범람....)

http://www.gnu.org/licenses/gpl-faq.ko. ... mmertially
GNU GPL로 배포되는 소프트웨어의 일부를 개작해서 제가 만든 새로운 프로그램에 포함시켰을 경우에, 이 프로그램을 상업적으로 배포하거나 판매하는 것이 가능합니까?

개작한 프로그램을 상업적으로 판매하는 것은 가능합니다. 그러나 이 경우에도 GNU GPL의 기준에 따라서 판매 및 배포가 이루어져야 합니다. 다시 말해서, GPL에 규정된 대로 사용자들이 소스 코드를 이용할 수 있도록 해야 하고 이들이 프로그램을 재배포하거나 개작하는 것 또한 허용해야 합니다.
쌀밥 wrote:대부분의 라이브러리 들은 LGPL (역사적인 이유로 'LGPL'을 '라이브러리 GPL'이라고도 부릅니다.) 이니... 공개 코드들을 적극 활용하는 것을 생활화합시다.
처음 이름에는 라이브러리 GPL 이었었죠. 대부분 이기 때문에 Lesser로 이름을 바꾼거죠.. ^^

제 생각에는 LGPL도 게임에는 모양이 안맞다고 생각합니다.
왜냐면 엔진을 고치지 않고 게임 만들기가 힘드니까요.
결국 무언가 수정하고 줄줄이 엮인것들을 수정할 확률이 높다고 생각합니다.
seeper0 (a) gmail.com [email주소 무단수집거부]
Locked