注册 登录
编程论坛 C图形专区

[求助]关于图形编程的一些问题

aipb2007 发布于 2007-10-27 17:07, 1342 次点击
因为需要,要涉及这个了!

有很多疑问,望大家解答下
现在的很多 开源图形库 是封装的什么?也就是它的底层实现是?换句话说要自己做个图形库要用什么知识,语言。

图形库和语言,和win32api是什么关系?

现在比较流行的c/c++图形编程的平台有哪几类?

导师要我们用opencv,这个现在用的多吗?具体怎么搭建个开发平台?

谢谢,太白痴了别笑我
4 回复
#2
aipb20072007-10-30 00:48
没人理,斑竹们???
#3
一笔苍穹2007-10-30 10:01
现在的很多 开源图形库 是封装的什么?也就是它的底层实现是?换句话说要自己做个图形库要用什么知识,语言。
封装的什么就得看在什么平台下了,在Windows下大部分是封装DX或OpenGL,LINUX下可能就是FrameBuffer。它们可能是一层封装或多层封装,归根到底,图形库最后还是通过WIN API或FrameBuffer与显示设备驱动打交道,因为在这些平台上你是无法直访硬件资源的。而DOS则可以,DOS下的图形库一般是通过VBE直接使用中断操作硬件。如果你只是要在图形库的基础上实现一些应用,那你可以不必深究它们的内部实现,也就是说你要掌握的知识就是如果正确的使用那些库,语言则一般都是基于C或C++。

图形库和语言,和win32api是什么关系?
如果是WINDOWS平台下的图形库,最终调用的还是WIN API(泛指所有已文档化的接口)。

现在比较流行的c/c++图形编程的平台有哪几类?
基于C/C++的话,2D方面可以直接使用GDI,Ddraw(或现在的Dgraphic),或者基于这些的封装,也就是第三方图形库,有很多这样的库。3D的话就可以使用D3D或OpenGL,不过基于它们的封装库可能更好用些。有些库是跨平台的,像SDL、Allegro、OGRE以及你所问的OpenCV等等等等。使用跨平台库的好处是能让你的程序很容易的移植到多种操作系统上——可能仅仅只需要重新编译一次。

导师要我们用opencv,这个现在用的多吗?具体怎么搭建个开发平台?
OpenCV是由Intel资助的跨平台开源免费的图形库,它针对INTEL CPU进行了优化,在INTEL的32位CPU上会运行的更快,OpenCV算是INTEL的一个半官方项目,所以稳定性和质量都是不错的,比一些个人制作的库更适合进行图形处理方向的研究。具体情况可以访问下面的网址:
http://www.opencv.org.cn/
#4
aipb20072007-10-30 17:40
谢谢你,了解点了,再研究!


#5
StarWing832007-12-18 00:13
的确是封装的API函数,但是都是关于HAL(硬件抽象层)的,要自己写图形库的话,就要了解。应该来说每个实用的操作系统都会有HAL的。所以其实可以给每个操作系统写一样的图形接口……
1