资源描述:
《计算机图形学02-图形系统ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2讲:图形系统第2章:图形系统图形硬件系统主机、显示器、各种输入输出设备等图形软件系统应用软件、支撑软件等用户操纵计算机的人§2.1.1图形系统组成结构§2.1.1图形系统组成结构图形硬件=输入+CPU+内存+帧缓存+输出InputdevicesOutputdeviceImageformedinFB1.图形硬件输入设备键盘、鼠标触摸板数字化仪数据手套Kinect1.图形硬件输出设备阴极射线管CRT液晶显示器LCD打印机PRT绘图仪1.图形硬件2.图形软件解决某种应用问题的图形软件图形应用软件由一组公用的图形子程序组成的。它扩展了系统
2、中原有高级语言和操作系统的图形处理功能。图形支撑软件一组图形数据文件,其中存放着欲生成的图形对象的全部描述信息。图形应用数据结构第2章:图形系统图形系统体系结构:图形系统中,有一个特别的软硬件子系统,能高效绘出透视图中的三维图元,这就是图形系统的核心结构——图形系统体系结构,也称为图形流水线。应用程序阶段几何处理阶段像素处理阶段§2.2图形系统体系结构应用程序阶段把数据以图元的形式提供给图形硬件,例如用来描述三维几何模型的点、线或多边形,同时也提供用于表面纹理映射的图像或者位图。由于应用程序阶段是通过软件方式实现的,因此开发者能够对该
3、阶段发生的情况进行完全控制,可以通过改变实现方法来改变实际性能。§2.2图形系统体系结构几何处理阶段以每个顶点为基础对几何图元进行处理,并从三维坐标变换为二维屏幕坐标的过程。该阶段又可以划分为下面几个功能阶段:§2.2图形系统体系结构像素处理阶段(光栅阶段)屏幕对象先是被传送到像素处理器进行光栅化,再对每个像素进行着色,然后再输出到帧缓冲器中,最后输出到显示器。当图元发送并通过光栅阶段之后,从相机视点处看到的东西就可以在屏幕上显示出来,这些图元可以用合适的着色模型进行绘制,如果运用纹理技术,就会显示出纹理效果。§2.2图形系统体系结构
4、第2章:图形系统§2.4图形支撑软件第一层次面向系统,设备驱动第二层次既面向系统又面向用户,如CGI第三层次面向用户,如OpenGL,DirectX§2.4图形支撑软件图形支撑软件第三层次:功能子程序图形应用接口API:图形库§2.4图形支撑软件图形支撑软件第三层次:功能子程序OpenGL:由若干个函数库组成,提供了数百条图形命令,包括基本图形元素的生成,封闭边界内的填色、纹理、反走样等;基本图形元素的几何变换、投影变换、窗口裁剪等;自由曲线曲面处理、隐藏线、隐藏面消除以及具有光照颜色效果的真实图形显示;自然界效果(如云彩、薄雾、烟霭
5、)的景象生成等。PointwithOpenGL#includevoidmyDisplay(void){glClearColor(0.0,0.0,0.0,0.0);glClear(GL_COLOR_BUFFER_BIT);glColor3f(1.0f,1.0f,1.0f);glPointSize(3);glBegin(GL_POINTS);glColor3f(1.0f,0.0f,0.0f);glVertex2f(-0.4f,-0.4f);glEnd();glFlush();}§2.4图形支撑软件图形支撑软件第三层次
6、:功能子程序DirectX:是一种图形应用程序接口API,包含DirectDraw,Direct3D,DirectSound,DirectInput,DirectPlay等多个组件。Java3D:是一种功能完备、通用性强的编程语言。作为一种面向对象的高层API,具有高度的移植性。DirectX一组低级“应用程序编程接口(API)”,可为Windows程序提供高性能硬件加速多媒体支持。DirectX直接访问显卡与声卡功能,确保多媒体程序能够充分利用高性能硬件,从而提供逼真的三维图形与声音效果DirectX由很多API组成,可以分为四大部
7、分,显示、声音、输入和网络部分DirectDraw,Direct3D,DirectSound,DirectInput,DirectPlayDirectX程序voidRender(){g_pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET
8、D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,128,0),1.0f,0);g_pD3DDevice->BeginScene();g_pD3DDevice->SetStreamSource(0,g_pD3DVBuffer,0,sizeof(MYVERT
9、EX));g_pD3DDevice->SetFVF(D3DFVF_MYVERTEX);g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,6);g_pD3DDevice->