Detailed Information for Simple VR-Engine

 

<본 소프트웨어가 탑재하고 있는 엔진(realWorld)에 대한 Paper>

realWorld(or Realistica)  

김진홍, 김필주, 정동현, 이정환, 송창근, 저가형 동적 가상환경 저작도구(Realistica)의 설계 및 구현, '99 춘계 학술발표 논문집, 정보처리학회,Vol.6, No.1 pp1191-1194, 1999.

 

[관련 동영상]

Thumbnail

주요 특징:

1. 3D primitive들을 직접 입력해 object를 구성 가능

...

        RTobjectList *rol;
        realObject *ro = new realObject("Pyramid");

        RThandle hnd;
        RTkeyFrame frm;


        // make a pyramid
        ro->AddVertex(30.0f, 0.0f, 30.0f);
        ro->AddVertex(30.0f, 0.0f, -30.0f);
        ro->AddVertex(0.0f, 30.0f, 0.0f);
        ro->MakeFace(1.0f, 0.0f, 0.0f);
        
…

        pRW->MakeObjectList(50.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
                                1.0f, 1.0f, 1.0f, ro, &rol);

        hnd = pRW->AddObject(rol);
        pRW->Finish();

        ...

2. 알려진 3D Model 데 이타 Import 방식

  - 현재, 3DS, ASE 포맷 지원

  - 3DS는 texturing information을 얻는 부분에서 일부 미완성

3. Camera navigation 가능

   - Mouse 왼쪽 버튼: Camera Translate / Rotate

   - Mouse 오른쪽 버튼: Camera Pitch / Yaw

4. Object Interaction:

   - Mouse Cursor를 물체 위에 놓고

      - 왼 쪽 버튼: Object 선택

      - (선 택후) 오른쪽 버튼: Object 에 대한 Menu 출력

 

  Object Menu

 

 

 

 

 

 

 

   - Mouse Cursor를 배경 화면에 놓고

      - 왼 쪽 버튼: Object 선택 취소

      - (선 택취소후) 오른쪽 버튼: System 에 대한 Menu 출력

 

  System Menu

 

 

 

 

 

 

 

 

5. Texture Mapping

    - TGA, BMP 지 원

    - 3D Model data 에 texturing information이 있을 경우 그대로 입힘

      단, 현재는 ASE 포맷에 한함

6. Collision Detection

    - 현재는 Bounding Box를 이용한 간단한 충돌 검사 지원

7. Animation

    - 현재는 Keyframe 방식으로 위치, 방향, 크기를 frame마다 선형 보간하는 방식

8. Performance

   - Pentium II 400Mhz, 128Mb, FireGL 1000Pro에서 30f/s 이상

   - Software OpenGL Renderer인 경우 5f/s 이하로 떨어질 수 있슴

9. Additionals

    - Flat/Smooth shading, Lighting, Shadowing

    - System 부하를 최소화하기 위해 성능에 따라 초당 프레임 재생율 자동 조절

 

<관 련 Snapshot 이미지>

(3D Modeler : 강상우 선배님)

 

  Texture 정보가 없는 가상 도시 모델. 이 모델은 국내의 한 인터넷 가상현실 서비스 업체가 blaxxun 엔진을 이용해 꾸민 world중 일부 구역을 흉내낸 것임.

 

 

 

 

 

 

 

 

 

아래 이미지는 위의 모델에 texture 정보를 더한 것임.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

높은 위치에서 내려다 보는 화면

 

  Texture mapping 방식이 Box형식이라서 지붕의 텍스쳐가 조금 이상한 것을 느낄 수 있다. 이것은 모델링 디자이너가 어떤 방식으로 텍스쳐를 입히는가에 따라 결정된다.

 

 

 

 

 

 

 

 

 

4만5천개 이상의 폴리곤을 갖는 3D Model. Smooth Shading 상태.

실험기종: Celeron 466Mhz, 128Mb, Software OpenGL Renderer, Windows 2000 Professional.

 

  엄청난 폴리곤의 갯수로 소프트웨어 렌더러에서 최악으로 2f/s까지 떨어진 것을 볼 수 있다. 하지만 이러한 경우에도 하드웨어 가속기를 장착한 시스템에서는 20f/s 이상을 유지한다. 소프트웨어 렌더러에서 왼쪽의 데이터는 평균 5f/s를 유지한다.  

(모델제공: 최원경 선배님)

 

 

 

 

 

 

다른 위치에서의 화면.

 

 

 

 

 

 

 

 

 

 

 

 

또 다른 위치.

 

 

 

 

 

 

 

 

 

 

 

 

가상환경내에서 몇 가지 조작을 가한 결과 화면

 

  왼쪽의 모델은 여러개의 오브젝트로 이루어져 있다. 그중 일부분을 제거해 본 화면이다. 안경알과 신체의 일부분을 제거했다. 마우스 커서가 포인팅하는 위치로 물체를 선택하게 되어있다.

 

 

 

 

 

 

 

 

본 Simple VR-Engine 은 아직 발전해야 할 부분이 많이 있다.

우선 가상환경에 대한 자체 포맷을 지원해야 하며(진행 중), 표준 VRML 스펙 또한

지원해야 한다.  연구 목적을 위해 Tracker 장비를 지원해야 한다(PC용 InsideTrak에 대하여만 진행 중).

 

시스템 권장 사양: Pentium II 400Mhz 이상, 64Mb Mem 이상, OpenGL 가속기

파일 크기(압축): 약 6.5Mb