社区首页 >问答首页 >一个准raskinesque可缩放,主要是文本界面+ 3d,跨平台和开放;我从哪里开始?(opengl?)

一个准raskinesque可缩放,主要是文本界面+ 3d,跨平台和开放;我从哪里开始?(opengl?)
EN

Stack Overflow用户
提问于 2010-01-02 00:55:58
回答 1查看 164关注 0票数 0

在这个浏览器和位图图形占主导地位的世界里-经过几十年的macintosh式的华丽装饰的窗口和漂亮的组件-我正在寻找一种方法来渲染固定大小的字符文本,在3d面板上绘制一个极其简化的"gui“,可以缩放和交互地调整大小,使内容变得很小,没有包装或更不可读性,到”面板“上,用户可以平铺在一起,”堆叠“,旋转,拖动等。

软件应该是可移植的或跨平台的。

看起来一个简单的,基本的3d图层是一个很好的选择,例如opengl,问题是:我对这些东西一无所知。

在不需要学习3d工具包的所有知识的情况下,完成任务的最简单方法是什么?

实现这一目标最合适的工具是什么?

java3d?或者它是过时的/缓慢的?qt工具包3d窗口小部件?

提前感谢您的任何提示

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-02 17:11:21

OpenGL确实支持呈现文本,特别是:`

代码语言:javascript
代码运行次数:0
复制
glRaster3f(GLfloat x, GLfloat y, GLfloat z);

将设置“栅格”位置,并且

代码语言:javascript
代码运行次数:0
复制
glutBitmapCharacter(GLUT_BITMAP_9_BY_15, 'h');

将在那个“光栅”位置呈现一个h。但是,这需要学习OpenGL应用程序接口。

另一种选择是自己完成投影的所有数学运算,并将其渲染到一个与窗口大小相同的字符数组上。

Here是OpenGL用于其3D投影和变换的矩阵。

这通常会有相同的效果,而且您不需要所有额外的库。然而,这实际上会使你的核心程序变得更大,而且可能会稍微慢一点,因为它不像OpenGL那样是硬件加速的。

另一方面,Java3D实际上运行在OpenGL或Direct3D之上,这意味着运行它所需的库将更加广泛。然而,尽管它仍然是一个应用程序接口,但它似乎确实比OpenGL或Direct3D简单得多。

交互性是一个完全不同的问题。

再说一次,OpenGL确实有必要的支持。

代码语言:javascript
代码运行次数:0
复制
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效果,你会使用什么。

总体而言,您确实有很多选择,但所有这些都需要大量的工作和考虑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1990208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档