用户登录
用户注册

分享至

opengl 图形

  • 作者: 嗫?暁雲?
  • 来源: 51数据库
  • 2020-09-25
那个完全是画上去的,而事件响应也是对应到指定的区域的。比如你画个方框作为按钮,当鼠标在方框内点击时,就认为是点击按钮了。相当的麻烦了。



  简单的三维图像想必你会
复杂的三维图像只用 opengl 那比较有难度。
一般都是用专业的绘图软件(比如3dmax,maya)来绘3d图,然后导出模型文件。再用opengl 去加载这个模型就可以了。



  楼上同学不要山寨哥哥的回答哦,原文在
。 呵呵

glut在windows上运行是绝对会依赖win32 api的。只是他把win32调用向你透明了。
他是怎么样做到的呢?
void createContex()
{
# ifdef _WIN32_
wglCreateContex()
# else ifdef _LINUX_
linux 平台调用
# else ifdef _MAC_
苹果平台调用
# endif
}
以上只是简单说明glut等跨平台库的方法,实际情况更加复杂。

在说的简单点,比如一个“跨平台”的创建进程的函数,他在windows上最终会调用createProcess,在Linux上最终会调用fork()。

使用CRT也是一种跨平台的方法,只是CRT不支持opengl。

如果glut真的不依赖OS,那么电子系的同学就笑了,他们可以愉快的在没有OS的51单片机上运行opengl了。
/////////////////////////////////////////////////
/////////////////////////////////////////////////
有关问题“用opengl开发图形界面程序可以不用win32 api吗”,,
答案是,可以,除非你不想在windows上跑。
有关问题,“不用win32 api怎么处理消息什么的"
消息机制是windows独创的机制,其他OS是怎么实现消息机制的详见不同系统的API。如果你想知道glut在windows上是怎样利用windows消息的,你可以用spy++钩挂glut主渲染窗口,然后选择查看消息,然后操作glut渲染窗口,所有消息你将一目了然。
当然随着时间的推移,在windows系统上,也出现了一些direct ui的实现,比如wpf,他们的消息机制更加灵活,但是一般都会有主窗口的消息循环,只是空间窗口的消息改掉了。

最后,如果你在做一个windows上跑的东西,首选D3D好过GL。
软件
前端设计
程序设计
Java相关