2010-01-02 4 views
0

이 브라우저에서는 비트 맵 그래픽이 세계를 지배했습니다. 매킨토시는 수십 년에 걸쳐 창문과 예쁜 구성 요소로 장식되었습니다. 고정 된 크기의 문자 텍스트를 렌더링하고 매우 단순화 된 "gui"를 그리는 방법을 찾고 있습니다. 사용자가 함께 바둑판 식으로 배열 할 수있는 "패널"위에 내용을 작게 보이거나 읽을 수 없도록 만드는 확대/축소 및 대화 형 크기 조절이 가능한 3D 패널준 - 래스 스키 네크 zoomable, 대부분 텍스트 인터페이스 + 3d, 크로스 플랫폼 및 오픈; 어디서부터 시작해야합니까? (OpenGL?)

소프트웨어는 휴대용 또는 크로스 플랫폼이어야합니다.

단순한 기본 3D 레이어는 사용하기 좋은 것으로 보입니다. opengl, 문제는 다음과 같습니다. 나는 이것들에 대해 아무것도 모릅니다.

3D 툴킷의 모든 것을 배우지 않고도 작업을 완료하는 가장 쉬운 방법은 무엇입니까?

이 작업을 수행하는 데 가장 적합한 도구는 무엇입니까?

java3d? 또는 구식/천천히? qt 툴킷 3D 위젯? 것

glRaster3f(GLfloat x, GLfloat y, GLfloat z);

은 "래스터"위치를 설정합니다`, 그리고

glutBitmapCharacter(GLUT_BITMAP_9_BY_15, 'h');

:

특히,

답변

1

OpenGL을 텍스트 렌더링에 대한 지원을 가지고 어떤 힌트 사전에 감사합니다 그 "래스터"위치에서 h를 렌더링하십시오. 그러나 OpenGL API를 배워야합니다.

다른 옵션은 투영을 위해 모든 수학을 수행하고 창의 크기 인 문자 배열로 렌더링하는 것입니다.

Here은 OpenGL에서 3D 투영 및 변환에 사용하는 행렬입니다.

일반적으로 동일한 효과가 있으며 모든 추가 라이브러리가 필요하지는 않습니다. 그러나 실제로는 핵심 프로그램을 더 크게 만들 것이고 OpenGL처럼 하드웨어 가속이 아니기 때문에 약간 느릴 수 있습니다.

Java3D는 실제로 OpenGL 또는 Direct3D를 기반으로 실행되기 때문에 실행에 필요한 라이브러리가 훨씬 더 광범위하게 사용됩니다. 그러나 그럼에도 불구하고 API는 OpenGL 또는 Direct3D보다 훨씬 간단한 API 인 것으로 보입니다.

상호 작용 성은 완전히 다른 문제입니다.

다시 한번 OpenGL에 필요한 지원이 있습니다. 창을 전환 할

gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);

는 적절한 투사와 모델 뷰 행렬 주어진 가장 앞에 텍셀의 3 공간 좌표로 마우스 클릭에 의해 반환 좌표.

이 경우 java3D에 대해 알지 못합니다. 또는 자신 만의 3D 효과를 계산 한 경우 사용할 것입니다.

전반적으로 선택해야 할 것이 많지만 모든 작업과 고려가 필요합니다.

+0

감사합니다. 마지막으로 한 가지 : sdl과 같은 프레임 워크를 추상화하는 것에 대해 어떻게 생각하십니까? 다시 고마워요. – Unknown

+0

webgl, "웹용 OpenGL es"도 유망한 것처럼 보입니다 – Unknown

+0

SDL은 입력 및 이벤트 처리 API로 사용할 수 있지만 SDL의 그래픽 지원은 OpenGL을 기반으로하므로 SDL을 사용할 수도 있습니다. 입력 및 그래픽 용 OpenGL 입력과 이벤트를 처리하는 GLUT도있다. 브라우저에서 렌더링 된 OpenGL의 경우 JOGL Java 애플릿을 사용합니다. 분명히 멋진 것처럼 보이지만 내 컴퓨터에서 작동하는 webgl을 얻지 못하는 것 같습니다. 사용자 측에서는 많은 설정이 필요했습니다. jogl 예를 보려면 여기를보십시오 -> https://jogl-demos.dev.java.net/applettest.html 코드는 http://kenai.com/projects/jogl/sources/jogl-demos- 자식/쇼/src/데모 –