라벨이 Irrlicht인 게시물 표시

일리히트 1.3 업데이트..

잠시 바빠서 신경을 안 쓴 사이에 지난 3월 16일자로 일리히트 가 1.3으로 업데이트 되었군요.. 요즘엔 개인적인 작업을 못하고 있기 때문에 업데이트된 소스코드를 직접 확인해보진 못하고 변경 사항만 확인해 보았습니다. 글꼴 지원이 약간 추가되었군요. Font improvements: - Changed built-in IGUIFont to IGUIFontBitmap and added options for more fonts. CGUIFont now supports UCS-2 and may span many textures, loads from XML (Unicode support planned) - Started a font tool for creating the new XML fonts, including generating vector fonts (currently not backward compatible with old fonts, only works for Win2K+, some bugs still) 글꼴 시스템이 UCS-2와 벡터 글꼴을 지원한답니다. 이것으로 한글이 출력부분 만이라도 제대로 해결될 수 있을까요? 일리히트를 업데이트 할 때마다 한글 입출력 부분을 따로 구현해 주어야 했는데, 앞으로 이 부분이 해결될 수 있는 단초를 제공해 주는게 아닌가 싶어서 반가운 마음입니다. 입력기에 대한 언급은 없는 것으로 보아 완벽한 한글 입출력은 구현되지 않은것 같지만, 이번 버전에서 최소한 한글 출력만이라도 제대로 되면 좋겠네요. 기존에는 한글(을 포함한 CJK 언어) 지원은 완전히 외부 모듈을 이용하여 Windows에 의존하는 방식이라 멀티플랫폼을 지향하는 일리히트의 설계철학에도 맞지 않았고, 구현된 코드도 깔끔하진 않았었죠..

일리히트 1.2에서 한글 입출력

이전에 일리히트 1.1에서의 한글 입출력에 대한 게시물을 쓴 적이 있는데, 그 후에 일리히트가 1.2로 업데이트가 되었습니다. 굳이 업그레이드할 필요는 없었지만, 몇가지 사소한 버그를 해결해볼까 해서 업그레이드를 했더니 한글 입출력 부분을 다시 해결해야 하더군요. (링크) MultiByte Language support pack for Irrlicht 0.9 위의 링크를 타고 가보면 일리히트 1.2를 위해 업데이트된 TrueType 글꼴 지원 패치가 나오는데, 적용해보니 동작은 되지만 메모리 누수가 있네요. 일단 포럼에 메모리 누수가 있다는 글을 올려놨는데 해결이 될지는 잘 모르겠습니다. 지난번에는 IME를 통한 입력 부분은 테스트를 안 해봤는데, 이번에 테스트해보니 IME composition window가 안 나타나기는 하지만 그다지 예쁘게 해결된 모양새는 아니더군요. 뭔가 더 MS 스타일에 걸맞는 해결책이 있을법도 한데.. 일리히트 내부를 뒤져보는 일은 안 하려고 했건만, 이런저런 이유로 자꾸 뒤져보고 싶게 만드는군요. 공개 엔진을 쓸때는 그냥 버그가 있으면 있는채로 사용하고 결과물에 집중하자는게 제 생각이라, 일단 메모리 누수가 나고 모양이 안 예뻐도 결과물을 향해서만 달려갈까 합니다. 버그야 나중에 누가 해결하든 해결하겠죠.. (먼산) 그런고로, 일리히트에서 한글 입출력은 아직 문제가 많다는게 결론입니다. 휴.. (업데이트) 포럼에 올린 버그에 대하여 수정이 되었습니다.

일리히트 1.1에서 한글 입출력

요즘엔 틈나는대로 혼자서 일리히트 엔진 을 만져보고 있습니다. 이 엔진에 관심을 가지고 보셨던 분들은 다들 아실테지만, 초기 설계부터 개발의 편이성에 목숨을 건 엔진이라 코드는 아주 깨끗해지지만 렌더링 퍼포먼스는 별로 좋지 않은 엔진이죠. 심지어는 코드가 지저분해진다는 이유로 DirectX 렌더러가 정점 정보를 비디오메모리에 올리지 않고 유저 메모리에 올려서 씁니다.(경악!) 이 부분 때문에 좌절하고 오우거 엔진 으로 가신 분들도 꽤 계신듯 하고요. 제가 아는 분도 오우거 엔진으로 게임을 개발해서 서비스하고 계신 듯 하니까, 아무래도 공개 엔진 중에서는 오우거가 젤 평가가 좋은듯 한데 저는 왜 일리히트를 만져보고 있느냐.. 혼자 뭔가를 만들때는 퍼포먼스보다 개발 편이성이 훨씬 중요하니까요.. 혼자서 할때는 진전이 없으면 금방 지쳐서 포기하기 쉬운데, 이럴때는 지치지 않도록 스스로에게 개발이 잘 진행되고 있다는 당근을 쥐어주는게 필요합니다. 하튼 이런 이유로 일리히트를 쓰는데, 이게 아직까지 True Type Font도 지원하지 않으니 한글 입출력이 제대로 될리가 없죠.. 그래서 포럼을 훑어보니 몇몇이 TTF 지원 모듈을 만들기는 했던 모양입니다. (링크) MultiByte Language support pack for Irrlicht 0.9 제목에는 일리히트 0.9용이라고 적혀있지만 링크를 열어보면 일리히트 1.1용으로 업데이트된 내용도 들어있습니다. 적용해보니 잘 돌아는 가는데, 폰트용 텍스쳐를 따로 생성하기 때문에 텍스쳐 해제시 주의해야 합니다. 작업중인 코드에서 오프닝, 메뉴, 게임 등을 구분해서 장면으로 나누어 두었는데, 장면이 바뀔때 리소스 해제시에 텍스쳐 메모리까지 몽땅 날려버렸더니 가차없이 죽는군요. (링크) HOW to control the IME Window 일리히트에서 IME composition window를 감추는 방법에 대한 내용인데, 적용해보진 않았지만 코드를 보니 잘 작동할것 같습니다.