opengl学习必备

opengl学习必备
opengl学习必备

第一章 OpenGL 概览

§1.1OpenGL 是什么 1. OpenGL 是一个通用共享的开放式三维图形标准

2. OpenGL 是一个开放的针对于图形硬件的三维图形软件包,是图形硬件的软件接口

3. OpenGL 是指令和函数的集合(从程序员的角度看),是一个优秀的专业化的 3D 的 API

§1.2OpenGL 能作什么 1. 建模。 2. 变换 3. 颜色模式设置 4. 光照和材质设置 5. 纹理映射 6. 位图显示和图像增强 7. 双缓存动画

§1.3OpenGL 函数语法 1) 所有 OpenGL 函数都以 gl 作为前,且词首字母大写(如glClearColor()函数); 2) OpenGL 中定义的常数都以 GL 开头,所有的字母都大写,且单词之间以下划线来分隔(例如 GL_COLOR_BUFFER_BIT); 3) OpenGL 命令(OpenGL 函数常被称为 OpenGL 命令)常常带有后。如:glColor3f()和 glVertex3f()中的后 3f;后指示出该函数的参数的个数和类型,其中 3 表示该函数需要 3 个参数,f 表示参数为浮点型数值。对于同一个功能函数,由于后的不同,可以有多种不同形式的函数(如:glVertex2i()、glVertex2f()、glVertex3f()、glVertex3d()、glVertex4f()、glVertex4fv()等)。某些 OpenGL 函数可以接受多至 8 种不同的数据类型作为它们的参数。表 1-1 列出了命令后的类型和相应的 OpenGL 的类型。 4) 有一些 OpenGL 函数的后面带有一个字母 v。这表示该命令带有的是一个指向矢量(即数组)值的指针参数。如:Glfloat color_array [] = { 1.0,1.0,1.0 }; glColor3fv(color_array); 以数组名 color_array 为参数,该命令等价于 glColor3f(1.0,1.0,1.0);

后定义数据类型 C 语言类型 OpenGL 类型定义b 8 位整数 signed char GLbyte s 16 位整数 short GLshort i 32 位整数 long GLint, GLsizei f 32 位浮点数 float GLfloat, GLcampf d 64 位浮点数 double GLdouble, GLclampd ub 8 位无符号整数 unsigned char GLubyte, GLboolean us 16 位无符号整数 unsigned short GLushort ui 32 位无符号整数 unsigned long GLuint, GLenum, GLbitfield 表1-1命令后参数数据类型

第 2 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

§1.4OpenGL 状态机制 1.

2.

OpenGL 是一个状态机。这就是说,OpenGL 中有各种状态变量,OpenGL 用这些状态变量控制图形的渲

染。将 OpenGL 设置为各种状态(或各种模式)后,这些状态一直有效地保存在 OpenGL 的状态变量中,

直到改变这些状态的值为止。状态变量所控制的功能一般要通过命令:glEnable()和glDisable()来激活或取消。注意:每一个状态变量或模式都有一个默认值。程序员可以在程序中的任何位置,对系统进行查询,

以获得一个状态变量的当前值。

①一般,可以使用以下 6 个函数来完成查询操作:

概览glGetBooleanv()、glGetDoublev()、glGetFloatV()、glGetIntegerv()、glGetPointerv()、

glIsEnabled()。

②另外,程序员可以用 glPushAttrib()和 glPopAttrib()命令将有关属性堆栈的状态变量集的值保存起来,可以暂时进行修改,后使用 glPopAttrib()和 glPopClientAttrib()命令保存这些值。

§1.5OpenGL 渲染管道这里所说的 OpenGL 渲染管道即 OpenGL 的工作顺序。大多数

OpenGL 应用都采用一个相似的操作顺序,这些一系列的处理阶段被称为 OpenGL 渲染管道。

图1-1操作顺序图§1.6OpenGL 函数库 1. 核心函数库 2. 实用

函数库 3. 辅助函数库 4. GLUT-----OpenGL 应用工具包 5. Windows 系统扩展函数库

§1.7一个简单的 OpenGL 程序该程序使用 GLUT 工具包;GLUT(OpenGL Utility Toolkit)

是一个和窗口系统无关的工具包,它是由 Mark Kilgard 编制出来的,用于隐藏不同窗口系

统 API 的复杂性。GLUT 用来进行窗口管理工作,可以简化诸如打开窗口、检测输入等等操作;另外,GLUT 还包括了一些用于创建复杂三维物体的子程序。从学习 OpenGL 的角度,

他是一个良好的开端。该程序清单如下:

第 3 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

//GLUT 库可以从网上下载:包括头文件 glut.h,静态库文件 glut32.lib,动态库文件

glut32.dll //以及将这些文件复制到相应的位置: //glut.h ===> ...\Microsoft Visual Studio\VC98\Include\GL //glut32.lib ===> ...\Microsoft Visual Studio\VC98\Lib //glut32.dll ===> ...\WINNT\system32 #include //包含glut.h 头文件后, 不再需要包含 gl.h 或 glu.h void init(void) { glClearColor (1.0, 1.0, 1.0, 0.0);//设置清除背景的颜色为白色 glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1.0,1.0,-1.0,1.0,1.0,5.0);//定义一个视景体} void display(void) { glClear (GL_COLOR_BUFFER_BIT);//用 glClearColor()命令设

置的颜色清除背景 glColor3f (1.0, 0.0, 0.0); //设置当前颜色为红色(RGB 模式)glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0,0.0,-2.0); glutWireTeapot(1.0);//绘制多边形,此多边形将是红色 glFlush (); //强制 OpenGL

处理以上的命令。 } int main(int argc, char** argv) { //初始化 GLUT glutInit(&argc, argv); //设置窗口的模式 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); //

指定窗口左上角在屏幕上的位置(单位:像素) glutInitWindowSize (250, 250); //

指定窗口的尺寸(单位:像素) glutInitWindowPosition (100, 100); //创建一个

具有 OpenGL 场景的窗口 glutCreateWindow ("hello"); init (); //注册显示回

调函数 glutDisplayFunc(display); //显示创建的窗口;进入事件处理循环,并触

发注册后的显示回调函数 glutMainLoop(); return 0; }

第 4 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

第二章 Windows 环境下 OpenGL 编程在 Windows95 中以及以后的 Windows 系统中都支

持 OpenGL,并且对 OpenGL 进行了扩展,增加了 16 个 WGL 函数,6 个 Win32 函数(用以

支持窗口像素格式和双缓冲区),以及 4 个相关的结构。 1. 与 OpenGL 相关的 Win32 函数:ChoosePixelFormat DescribePixelFormat GetEnhMetaFilePixelFormat GetPixelFormat SetPixelFormat SwapBuffers 2. 与OpenGL 相关的WGL 函数:wglCopyContext wglCreateContext wglCreateLayerContext wglDeleteContext wglDescribeLayerPlane wglGetCurrentContext wglGetCurrentDC wglGetLayerPaletteEntries wglGetProcAddress wglMakeCurrent wglRealizeLayerPalette wglSetLayerPaletteEntries wglShareLists wglSwapLayerBuffers wglUseFontBitmaps wglUseFontOutlines 3. 与 OpenGL 相关的结构:GLYPHMETRICSFLOAT LAYERPLANEDESCRIPTOR PIXELFORMATDESCRIPTOR POINTFLOAT

◎绘图描述表 RC(Rendering Context) 1. 在 windows 下 GDI 作图必须通过设备描述表

DC(Device Context)来调用相关的函数;用 OpenGL 也是类似,OpenGL 函数需要通过 RC (绘图描述表)来完成三维图形的绘制。也就是说:OpenGL 的 RC 是传递所有 OpenGL 命令

的端口。 2. Windows GDI中的DC包含Window NT和Windows 95 GDI的信息,而OpenGL 中

的RC包含有OpenGL 信息。 3. 调用 OpenGL 函数的每一个线程都要有一个当前的 RC,该 RC 把 OpenGL 与 Windows 的窗口系统连接起来。 4. 绘图描述表 RC 需要程序员自己创建;创建时,是在一个 windows 的 DC 基础上创建,所以在创建前,要先定义一个 Windows DC。第 5 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

5. 在创建 RC 之前,一定要先设定与该 RC 相联系的 DC 的像素格式。(*)

6. RC 创建后,需要把它设定为线程的当前 RC,这样就使 Windows 的 DC 和 OpenGL 的 RC 建立了真正的联系,通过 OpenGL 函数调用,RC 就可以在已经定义的 DC 上画图。

7. OpenGL 函数调用结束后,使 RC 从线程上脱离,并删除。管理绘图描述表 RC 的 wgl 函数有 5 个,如下表:WGL 函数功能 WglCreateContext 创建一个新的绘图描述表(RC) WglMakeCurrent 设置一个线程的当前的绘图描述表(RC) WglGetCurrentContext 给一个线程的当前绘图描述表提供一个句柄 WglGetCurrentDC 给与一个线程当前的绘图描述表相关的设备描述表提供一个句柄 WglDeleteContext 删除绘图描述表

◎像素格式像素格式定义OpenGL绘制画面时的如下一些属性:◆像素缓冲区是单缓冲的还是双缓冲的◆像素数据是用RGBA颜色模式还是颜色指数模式◆颜色数据的位数◆深度缓存的位数◆模板缓存的位数◆交替面类型◆各种可见性屏蔽

从OpenGL的渲染管道(绘图过程)知道,无论进而OpenGL的是何种数据,OpenGL

终都将都进行像素操作,即把像素写到帧缓存中.OpenGL需要知道怎样操纵这些像素,因此必须设置像素的属性(即像素格式).在 Microsoft Windows NT 和 Windows 95 上采用数据结构PIXELFORMATDESCRIPTION 来传送像素的属性.因此必须要通过PIXELFORMATDESCRIPTION 这个结构来描述一钟特定的像素格式.typedef struct tagPIXELFORMATDESCRIPTOR {

WORD nSize;

WORD nVersion;

DWORD dwFlags;

BYTE iPixelType;

BYTE cColorBits;

BYTE cRedBits;

BYTE cRedShift;

BYTE cGreenBits;

BYTE cGreenShift;

BYTE cBlueBits;

BYTE cBlueShift;

BYTE cAlphaBits;

BYTE cAlphaShift;

BYTE cAccumBits;

BYTE cAccumRedBits;

BYTE cAccumGreenBits;

第 6 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

BYTE cAccumBlueBits;

BYTE cAccumAlphaBits;

BYTE cDepthBits;

BYTE cStencilBits;

BYTE cAuxBuffers;

BYTE iLayerType;

BYTE bReserved;

DWORD dwLayerMask;

DWORD dwVisibleMask;

DWORD dwDamageMask;

} PIXELFORMATDESCRIPTOR;

管理像素格式的 Win32 函数如下: Win32 函数功能 ChoosePixelFormat 提供与指定像素

格式匹配的设备描述表像素格式 SetPixelFormat 把设备描述表的当前像素格式赋给指定像

素格式指数的像素格式 GetPixelFormat 提供设备描述表当前像素格式的像素格式指数DescribePixelFormat 根据给定的设备描述表和像素格式指数,用像素格式属性填充PIXELFORMATDESCRIPTOR 结构 GetEnhMetaFilePixelFormat 给增强的元文件检索像素格式

信息

◎Windows 环境下极小化OpenGL应用程序的建立的步骤1.包含相应的头文件要在

应用程序中使用 OpenGL 函数,首先要包含相应的头文件:使用 OpenGL 核心函数-----

#include 使用 GLU 库函数 --------- #incloude 使用 AUX

库函数 -------- #include 使用 WGL 和 Win32 函数-- #include

2.设置像素格式①填充 PIXELFORMATDESCRIPTION 结构.设置像素格式,

首先要填充 PIXELFORMATDESCRIPTION 结构.这需要对 OpenGL 有一个较深的理解,并且要

知道它在 Windows 上的被执行过程.我们首先采用其缺省值如下: PIXELFORMATDESCRIPTOR

pfd = { sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd 1, // version number PFD_DRAW_TO_WINDOW | // support window

PFD_SUPPORT_OPENGL, // support OpenGL PFD_TYPE_RGBA, // RGBA type 24, // 24-bit color depth

0, 0, 0, 0, 0, 0, // color bits ignored 0, // no alpha buffer 0, // shift bit ignored

0, // no accumulation buffer

第 7 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

0, 0, 0, 0, // accum bits ignored 32, // 32-bit z-buffer 0, // no stencil buffer

0, // no auxiliary buffer PFD_MAIN_PLANE,

// main layer 0, // reserved 0, 0, 0 // layer masks ignored }; ②设置像素格式一旦对结构 PIXELFORMATDESCRIPTOR 进

行了初始化,就可以设置像素格式了.如下代码:

int iPixelformat; if ( (iPixelformat = ChoosePixelFormat(m_pDC->GetSafeHdc(),

&pfd)) == 0 ) { MessageBox("ChoosePixelFormat failed"); return

FALSE; } if (SetPixelFormat(m_pDC->GetSafeHdc(),iPixelformat, &pfd) ==

FALSE) { MessageBox("SetPixelFormat failed"); return

FALSE; } ChoosePixelFormat()函数在硬件所支持的像素格式中选择于

pdf 所要求的像素格式匹配的一个. SetPixelFormat()函数把设备描述表的像素格式设置

成由索引值 iPixelformat 所指向的像素格式.必须注意的是:一个应用程序只能为一个窗

口设置一次像素格式,并且一旦设置,在程序执行的过程中,就不能进行更改.而且,在创建绘图描述表(RC)之前,必须设置像素格式,否则 RC 就不知道他该选择什么样的像素属性了.3.创建绘图描述表(RC)一个OpenGl程序必须有一个绘图描述表,并且在应用OpenGL绘图之前他就应该是当前的.在 WINDOWS 中创建绘图描述表的方法是:⑴通过响应 Windows 消息 WM_CREATE 来创建并当前化一个绘图描述表.

HDC hdc; HGLRC hglrc; hdc = GetDC(hWnd); //得到窗口的设备描述表DCmyPixelFormatSetupFunction(hdc);//在此函数内设置合适的像素格式wglCreateContext(hdc); //创建绘图描述表RC wglMakeCurrent(hdc,hglrc); //把建立的RC当前化,使之于DC相联系

⑵通过响应 Windows 消息 WM_DESTROY 来使一个绘图描述表不是当前的并删除它.

第 8 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

HDC hdc;

HGLRC hglrc;

If(hglrc = wglGetCurrentContex() )

{ hdc = wglGetCurrentDC();

wglMakeCurrent(NULL,NULL);

ReleaseDC(hwnd,hdc);

WglDeleteContext(hglrc); }

4.OpenGL绘图初始化在用OpenGL绘图之前要进行一些初始化操作,在WM_CREATE 消息的响应函数中设定.5.在 WM_SIZE 消息的响应函数中建立OpenGL视景体和窗口可视区

7.在 View 的 OnDraw()函数中进行具体的OpenGL绘图操作.

if(cy > 0)

{ if((m_oldRect.right > cx) || (m_oldRect.bottom > cy))

RedrawWindow();

m_oldRect.right = cx;

m_oldRect.bottom = cy;

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glFrustum(-1.0,1.0,-1.0,1.0,0.0,7.0); //设定视景体

glViewport(0, 0, cx, cy) }

6.在 View 的 OnDraw()函数中进行具体的OpenGL绘图操作.

第 9 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

第 3 章状态管理和绘制几何物体§3.1OpenGL绘图准备在绘图准备过程中,涉及3个主题:(1)如何清空窗口(2)如何设置颜色(3)如何强制完成图形绘制这些内容是在绘制图形前的准备基础,任何绘制几何物体的程序都要涉及这几项内容.◆清除窗口为什么要清除窗口?在计算机上屏幕上绘图不同于在纸上绘图,因为纸初是白色的,绘制者需要做的

只是画出图形.在计算机上,载有图画的内存常常被后画出的那幅图占据着,所以在开始画一个新的场景之前,常常需要以某种背景颜色将其清空.采用何种背景颜色,取决于具体的用户应用程序.如何清除?先指定采用什么清空颜色来清除,再用清除命令来清除.如下

所示:把一个 RGBA 模式的窗口清为黑色.

GlClearColor(0.0,0.0,0.0,0.0); //将清空颜色指定为黑色GlClear(GL_COLOR_BUFFER_BIT); //用清除命令将窗口清为指定的黑色

void glClearColor( GLclampf red , GLclampf green , GLclampf blue , GLclampf alpha ); 该函数在 RGBA 模式中,设置当前的清空颜色缓存.默认的清除颜色为黑色(0,0,0,0)void glClear( GLbitfield mask); 该函数以当前的清除值清除指定的缓存.参数 mask 是在下表中所列值按为"或"的连接 Mask Buffer to be Cleared GL_COLOR_BUFFER_BIT 颜色缓存GL_DEPTH_BUFFER_BIT 深度缓存GL_ACCUM_BUFFER_BIT 累积缓存GL_STENCIL_BUFFER_BIT 模板缓存

◆设置颜色1.在OpenGL中,对所要绘制物体的形状描述和对其颜色的描述是相互独立的.2.一个特定的几何物体不论在什么时候画出,都使用当前指定的着色方案3.只要不改变当前颜色和着色方案,所有的物体都使用或该着色方案画出.例如,伪代码:set_current_color(red); draw_object(A); //物体A会画成红色 draw_object(B); //物体B也会画成红色set_current_color(green); set_current_color(blue); draw_object(C); //物体C画成蓝色,不是绿色

void glColor3*( GLfloat red , GLfloat green , GLfloat blue );

第 10 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

void glColor4b( GLbyte red , GLbyte green , GLbyte blue , GLbyte alpha );

red,green,blue 各是红色、绿色、蓝色颜色的分量

◆强制完成绘图 void glFlush( void );

void glFinish(void);

§3.2点、线、多边形的描述OpenGL中定义了3种基本几何图元---点,线,多边形。所有的复杂图形都需要由这些图元来构造。所有的几何图元终都以其顶点坐标来描述。

◆什么是点、线和多边形数学上的点、线和多边形的意义和 OpenGL 中的相似,但是并不完全相同: 1. 一个差别是来自于计算机能力的限制。由于计算机中浮点数的计算精度有限,存在着舍入误差。因此,OpenGL 中的点、线和多边形的坐标都要受到影响 2. 另一个重要的差别源于光栅图形显示的限制。在光栅图形显示中,小的显示单位是一个像素。OpenGL 在计算机中,假设点由浮点数向量来表示,然而在实际绘制中,点经常就是单个像素。因此OpenGL 会将许多个坐标值相近的点都绘制在同一个像素点上。●点一个点是由一系列定义为顶点的浮点数来表示。OpenGL 内部计算总是以三维情况来处理。二维坐标,将 z 坐标值默认赋值为 0。齐次坐标,将 w 归一化。●线在 OpenGL 中,线指的是线段。一组线段相连而成的线是以这些线段端点所处的位置来定义的。●多边形多边形是指由线段组成的单个闭合回路围成的区域。这些线段由其端点处的顶点指定。在 OpenGL 中,对多边形图元的组成作了一些强制的限制:1.OpenGL多边形的边不可以相交.2.OpenGL多边形必须是凸的.注意:如果程序员为OpenGL指定一个非凸的填充多边形,OpenGL将绘制出意想不到的图形.由于OpenGL顶点一般是三维的,这些组成特定多边形边界的点并不必位于空间的同一平面内.●矩形OpenGL提供了一种填充矩形的绘制函数:glRect*().矩形当然可以当做一

个多边形来绘制,但是特定的glRect*()函数将使特定的OpenGL实现得到大大的优化.●曲线和曲面所有的光滑曲线和曲面都可以有短线段和小多边形区域以任意的精度进行逼近.OpenGL提供有对曲线细分和直接绘制的方法.◆定义顶点在OpenGL中,所有的几何物体终都要描述成一个顶点的有序集合.程序员可以用glVertex*()来定义一个顶点. void glVertex{234}{sifd}[v](输入坐标) 1.此函数定

义用于描述几何物体的一个顶点.

第 11 页

OpenGL 程序设计讲稿中国地质大学(北京)地球物理与信息技术学院

2.通过相应的命令,程序员可以用多到4个坐标(x,y,z,w)、少到两个坐标(x,y)来指定一个特定的顶点.3.如果选择了一种没有明确指定z或w的命令,则OpenGL认为z为0而w为1.4.对函数glVertex*()的调用,应该在 glBegin()和 glEnd()成对函数之间.◆ OpenGL 的几何绘图图元 1. OpenGL提供了描述点,线,多边形的绘制机制.它们通过 glBegin()函数和 glEnd()函数配对来完成. 2. 程序员需要将每组顶点放在 glBegin()函数调用和 glEnd()函数调用之间. 3. 绘制图元的类型(只有点,线,多边形这三种)由 glBegin()函数的参数来指定. 4. glBegin()函数和 glEnd()函数必须要配对使用. void glBegin( GLenum mode );

void glEnd( void ); GlBegin()函数标志描述一个几何图元的顶点列表的开始.图元的类型有参数mode来给定.GlEnd()函数标志着顶点列表的结束.几何图元的名称和意义值意义 GL_POINTS 独立的点 GL_LINES 一对顶点表示一条线段 GL_LINE_STRIP 一系列的相连的线段GL_LINE_LOOP 闭合的相连的线段GL_TRIANGLES 三角形顶点的三元组GL_TRIANGLE_STRIP 连接的三角形条带 GL_TRIANGLE_FAN 连接的三角形扇面 GL_QUADS 四边形顶点的四元组

学校纪检部工作总结

学校纪检部工作总结 本学期学生工作部立脚发挥自身职能,结合学院进展的形势和实际工作需要积极主动地开展各项工作,在上级领导的正确领导和大力支持下,各项工作开展顺利;在相关部门特别是各系的积极配合下各项工作取得了一定成绩;全院学生工作的各个方面在基本习惯目前全校工作现状的事情下,各项工作需要与时俱进全面提高水平,以习惯我院工作别断进展的需要和学生成长进展的德育需求。 下面就本学期要紧工作进行基本总结 一、工作回忆 (一)八、九月份:重点做好2005级新生(大专、高职)入校接待和入学教育工作;做好老生开学的各项例行工作,使各项日常工作迅速步入正轨;在全体学工干部和班主任中统一思想,明确工作思路。 1、在接待新生和入学教育工作中,大专、高职分别仔细预备、精密组织、耐心解决好各种意想别到的咨询题,为刚入校的新生提供帮助,为学校稳定勇于承担压力,比较顺利地解决了工作中浮现的各种矛盾,入学教育效果良好。 2、在老生开学的工作中,提早做好各项工作安排,在开学初各种工作交错在一起,头绪多、任务重、时刻紧、情况集中、矛盾突出的事情下,各项同工作有条别紊地开展。 3、在统一全学期工作思路的工作中,我们与各部多次共同磋商,共同制定整体工作打算和安排,并贯彻到全体班委会中。 本学期九月份对纪检部来说是近几年来相当痛苦的一具月,大伙儿的工作强度是相当大的。 (二)十月份:重点搞好新生军训工作,并全面启动本学期重点工作为了我们美好的改日而发奋学习学风专题教育活动 1、新生军训工作我们在总体上仔细细致地把握好,按照总的布置仔细组织学生,各项工作顺利,军训后还进行了汇报表演,取得良好效果。 2、学风教育是本学期重点工作,我们欲经过此项教育活动强化学生的学习意识,培养良好的学习适应,形成全院良好的风气,并以抓课堂纪律、出勤率带动全面校风建设。我们要经过抓学风在全院整体上形成重学习、说学习的氛围,在学生意识上形成刻苦学习光荣,放纵自己可耻的思想观念,并在学风、校风的外在表现上呈现出日常治理严谨规范,学生别良行为大大减少,全院生动爽朗,健康向上,并实现变有形的纪律约束为无形的文化引导真正强化我院整体工作的育人功能。 在文明教育的具体工作中,我们仍是本着统一思想,提高认识,整体谋化,分步实施,分块降实的思路,院、系两级整体配合并强调各系积极开展有特色的教育形式,最终谋求整体的教育效果。 这项工作,我们要紧做了以下具体工作 A、对全院学生会干部、班委会总体动员,会上左老师系统、全面、高屋见岺地阐述了文明礼貌教育的重要性以及对学院进展、学生成长的意义,并对怎么抓好文明礼貌教育进行了重要指示。 B、对全院学生骨干(学生组织、班团干部)进行工作动员,阐明学校的工作意图,重申各项具体工作安排,从而使学生骨干带头,带领广阔同学积极配合学校。我们还向各班发了《对于以文明礼貌教育建设为突破口全面加强高职、高专学生思想教育工作的决定》宣传材料和工作指导文件,对整个文明礼貌教育工作进行指导。 C、开学时学院组织多次专场报告会,结合形势政策课从思想上加强对学生的引导,包括《心理教育》、《当代大学生的素养咨询题》等。 D、抓文明礼貌教育与迎神州六号升天成功相结合,以飞快进展的社会形势激发学生学

OpenGL入门学习之七——使用光照来表现立体感

OpenGL入门学习之七——使用光照来表现立体感 2009-01-07 11:49 从生理学的角度上讲,眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛。人类对于光线强弱的变化的反应,比对于颜色变化的反应来得灵敏。因此对于人类而言,光线很大程度上表现了物体的立体感。 请看图1,图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体。 图1 OpenGL对于光照效果提供了直接的支持,只需要调用某些函数,便可以实现简单的光照效果。但是在这之前,我们有必要了解一些基础知识。 一、建立光照模型 在现实生活中,某些物体本身就会发光,例如太阳、电灯等,而其它物体虽然不会发光,但可以反射来自其它物体的光。这些光通过各种方式传播,最后进入我们的眼睛——于是一幅画面就在我们的眼中形成了。 就目前的计算机而言,要准确模拟各种光线的传播,这是无法做到的事情。比如一个四面都是粗糙墙壁的房间,一盏电灯所发出的光线在很短的时间内就会经过非常多次的反射,最终几乎布满了房间的每一个角落,这一过程即使使用目前运算速度最快的计算机,也无法精确模拟。不过,我们并不需要精确的模拟各种光线,只需要找到一种近似的计算方式,使它的最终结果让我们的眼睛认为它是真实的,这就可以了。 OpenGL在处理光照时采用这样一种近似:把光照系统分为三部分,分别是光源、材质和光照环境。光源就是光的来源,可以是前面所说的太阳或者电灯等。材质是指接受光照的各种物体的表面,由于物体如何反射光线只由物体表面决定(OpenGL中没有考虑光的折射),材质特点就决定了物体反射光线的特点。光照环境是指一些额外的参数,它们将影响最终的光照画面,比如一些光线经过多次反射后,已经无法分清它究竟是由哪个光源发出,这时,指定一个“环境亮度”参数,可以使最后形成的画面更接近于真实情况。

计算机图形学OpenGL中绘制太阳_地球_月亮的运动模型源代码

#include static int day = 148; // day的变化:从0到359 void myDisplay(void) { glEnable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(75, 1, 1, 400000000); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1); // 红色的“太阳” glColor3f(1.0, 0.0, 0.0); glutSolidSphere(69600000, 100, 100); // 蓝色的“地球” glColor3f(0.0, 0.0, 1.0); glRotatef(day/360.0*360.0, 0.0, 0.0, -1.0); glTranslatef(150000000, 0.0, 0.0); glutSolidSphere(15945000, 100, 100); // 黄色的“月亮” glColor3f(1.0, 1.0, 0.0); glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0, 0.0, -1.0); glTranslatef(38000000, 0.0, 0.0); glutSolidSphere(4345000, 100, 100); glFlush(); glutSwapBuffers(); } void myIdle(void) { ++day; if( day >= 360 ) day = 0; myDisplay(); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); glutInitWindowPosition(100, 100); glutInitWindowSize(450, 450);

研究生计算机图形学课程室内场景OpenGL--实验报告Word版

《高级计算机图形学》实验报告 姓名:学号:班级: 【实验报告要求】 实验名称:高级计算机图形学室内场景 实验目的:掌握使用OpenGL生成真实感复杂对象的方法,进一步熟练掌握构造实体几何表示法、扫描表示法、八叉树法、BSP树法等建模方法。 实验要求:要求利用OpenGL生成一个真实感的复杂对象及其周围场景,并显示观测点变化时的几何变换,要具备在一个纹理复杂的场景中漫游功能。要求使用到光线跟踪算法、 纹理映射技术以及实时绘制技术。 一、实验效果图 图1:正面效果图

图2:背面效果图 图4:背面效果图

图4:室内场景细节效果图 图5:场景角度转换效果图

二、源文件数据代码: 共6个文件,其实现代码如下: 1、DlgAbout.cpp #include "StdAfx.h" #include "DlgAbout.h" CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() 2、FormCommandView.cpp #include "stdafx.h" #include "Tool.h" #include "MainFrm.h" #include "FormCommandView.h" #include "ToolDoc.h" #include "RenderView.h" // Download by https://www.360docs.net/doc/171814662.html, #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif // CFormCommandView IMPLEMENT_DYNCREATE(CFormCommandView, CFormView) CFormCommandView::CFormCommandView() : CFormView(CFormCommandView::IDD) { //{{AFX_DATA_INIT(CFormCommandView)

大学纪检部工作总结

( 工作总结 ) 单位:_________________________姓名:_________________________日期:_________________________ 精品文档 / Word文档 / 文字可改 大学纪检部工作总结Work summary of Discipline Inspection Department of University

大学纪检部工作总结 篇一 时光流逝,岁月如梭,转眼间大学新的一个学期就在弹指一挥间过去了,这一学期的纪检工作也完满结束。这一个学期我们谨记为同学服务的宗旨,怀着全心全意为广大同学服务的信心,认真地完成了各项工作。在系领导的帮助和各班、各部门同学的积极配合和支持,以及本部门全体成员的努力下,纪检工作取得了一定的成果,得到了广大同学的肯定。 一、工作总汇 这学期我们迎来了09级的新生,我们学生会也招收了不少新成员,新的学生会干部到来后,我们纪检部一共就有了3位成员,我、王小宇和方昭力。接下来我们展开了一系列的工作:

首先是运动会,运动会上,我部的干事踊跃,积极地维护秩序签到工作以及在系大本营区都可以看到我们部干事在自己的岗位上为运动员提供服务。并检查了各班卫生状况。运动会中我们安排了各个系干的职责,包括查各班认识,卫士,凳子数量等等。一天查3次,分别是早上来的时候,中午走的时候和下午走的时候。并且我们还安排了系干分班工作,每人查一天休息一天,同时我们还安排有中午值班的,搬桌椅等等各个工作的同学。 然后就是辩论赛啊等等各个小型的活动,为此,我们安排了8号报告厅的座次表和系干查考勤,以方便活动的正常开展。 的一次活动就是前几天举行的元旦晚会及07级同学的送别晚会,因为是在大礼堂举行,我们负责大礼堂的座次还有每个学生会干部的工作,我们安着每个系的人数将大礼堂分为若干个区域,每个系都有一个区域,并且每个系都安排了负责的学生会干部!关于学生会干部的工作安排到了每一个人的身上,包括守门的,迎接嘉宾的,后天帮忙的,维持纪律的等等。 二、存在的问题

详解Qt写OpenGL入门示例

详解 Qt 写 OpenGL 入门示例 2011-07-01 17:12 佚名互联网字号: | 本文介绍的是详解 Qt 写 OpenGL 入门示例,不多说,先来看详细内容。 AD: Qt 写OpenGL 入门示例是本文所介绍的内容。其实我个人是很喜欢玩游戏的,为什么呢?只是因为我还无法制作游戏.所以,以前就看过一些...东西. 比如directx/opengl. 可惜无法入门,而当年拼命的记忆那个windows api版的hello world(vc++自动生成)...在一个星期后便忘记了.使得我对上的编程充满了阴影(在若干年后,我终于明白你不需要去记忆具体api, 因为环境会给你提示) - 都没入门, 怎么开始directx哦?(不过无数次的hello world,也有好处,就是让我明白了windows平台的消息循环机制...这让我在若干年后在看到qt 的()时,心有灵犀的想, 哦,进入了消息循环了...) 后来自然就看看qt,看看c++、PHP就不说了,一直搞这个的)等. 还有有比如SDL一类的搞搞,但始终不得其门而入,qt有自带的提供给opengl的窗口类的. 在我以前, 反正也试过,这样那样的错误就放弃了... 不过不知道为什么, 现在却很简单,(可能做任何事情都有简单和难的时候,只是未到时间吧).,假如你也想玩玩qt? opengl的话, 那么先具体下面一些东西: (1)OpenGL编程指南 (书, 里面有代码的,咋们参考一些) (2)装了qt库和环境(windows下qt里应该有自带opengl, 所以opengl的库就不提了) (3)编译器 那么我们就开始了...反正是很简单的入门...写个, 如下 1.yarco@coto?~/Documents/test/1?$?cat? ? 2.#include?? 3.#include?"" ? 1.int?main(int?argc,?char*?argv[])?. ? 2.yarco@coto?~/Documents/test/1?$?cat? ? 3.#include?"" ? 4.void?MyWidget::initializeGL() ? 5.{ ? 6.} ? 7.void?MyWidget::resizeGL(int?w,?int?h) ? 8.{ ? 9.} ? 10.void?MyWidget::paintGL() ? 11.{ ? 12.????????renderText(20,?100,?"Hello,?My?first?OpenGL?app."); ? 13.} ? .(不详细描述)

计算机图形学 实验 利用OpenGL实现图形的平移、旋转、缩放

XXXXXXXX大学(计算机图形学)实验报告 实验名称利用OpenGL实现图形的平移、旋转、缩放 实验时间年月日 专业姓名学号 预习操作座位号 教师签名总评 一、实验目的: 1.了解OpenGL下简单图形的平移、旋转、缩放变换的编程的基本思想; 2.掌握OpenGL下简单图形的平移、旋转、缩放变换的编程的基本步骤; 二、实验原理: 在OpenGL中,可以使用下面三个函数便捷地实现简单图形平移、旋转、缩放变换的功能: glRotatef(theta, vx, vy, vz); glTranslatef(dx, dy, dz); glScalef(sx,sy,sz); 三、实验内容: // 1.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "glut.h" #include "math.h" void display() { glClear( GL_COLOR_BUFFER_BIT); // Clear the frame buffer glColor3f( 0.0, 1.0, 1.0); // Set current color to green glBegin( GL_POLYGON); // Draw the triangle glV ertex2f( 0.0, -0.2); glV ertex2f( 0.2, 0.0); glV ertex2f( 0.0, 0.0); glEnd(); glFlush(); } void dsp()

学生会纪检部工作总结4篇

学生会纪检部工作总结4篇 本文目录 学生会纪检部工作总结 学生会纪检部工作总结 学生会纪检部学年工作总结 学生会纪检部上半年工作总结 转眼,一学期过去了,作为分院学生会的纪律部门, 我部在加强学生的纪律意识, 提高学生的综合素质, 确保学生会工作顺利开展, 必先严于律己, 方能以己律人,认真地完成了各项工作。在老师、主席团的领导和帮助,各班、各部门同学的积极配合和支持,以及本部门的全体成员的努力下,这学期的工作取得了一定的成果,得到了广大老师和同学的认可和肯定。 一、例会 一次次的例会, 就是一次次的教训, 一次次的学习, 一次次的优化。例会见证了我们从幼稚到成熟, 从不足到完善。当然例会的重点在于发现问题和解决问题。可以说我部的每一次例会都起到了它实实在在的效用, 越来越完善的纪检条例, 越来越有条理的早晚自修监督制度, 都是通过例会的集思广益而做到。在老师及学生会主席团的指导安排下, 工作的布置都显得那么的井

然有序, 我们所需要做的就只是尽力的学习, 锻炼, 并且全身心的投入到自己的工作当中去。 回顾过去一年的工作有成功也有不足, 我们很高兴能克服种种困难,完成交给我们的任务, 为学生会的纪律保驾护航。 二、执勤工作 纪检部平时的日常工作繁多而复杂,自第二届学生会成立以来,纪检部培养了许多新生力量,为了保证各项工作的进行提供了能源,纪检部成立首先制定了符合本部实际情况的规章制度及纪检部工作处理流程,学期工作计划书保证工作顺利,井然有序地进行,本部制定了内部执勤签到的规定,要求全体成员在每晚7:00到达学生会办公室。7:10准时查班,并定于每周四晚7:30准时全体成员在学生会办公室召开例会,把每周检查情况进行汇总,在执勤的过程中出现各种问题进行上报,并且每次例会的汇总整理工作由专人负责,例会的出勤人数均在97%以上,本部还制定了请销假制度,全体成员并能做到“今日事今日毕”,纪检部是在学校出现的次数最多的学生会部门,每次例会纪检部都要把自身形象问题作为一个重要的内容,并做出要求,以佩戴上岗证进行执勤,在查勤过程中,从自身做到先敲门在入内,见到老师要主动问好,执勤过程中不大声喧哗等本部的自身形象问题都做出了规定,并给众多老师留下了良好的影响及好评。 在查班过程中,做到问清不在人的去处,,做到请假人要有假条,有突发事件,各班班长要清楚,在查班时写清楚。现在出

计算机图形学试验指导一–OpenGL基础

计算机图形学实验指导(一) –OpenGL基础 1.综述 这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是Visual C++,它对OpenGL提供了完备的支持。 尽管OpenGL包括渲染命令,但却独立于任何窗口系统和操作系统。因此,OpenGL并不包括用来打开窗口以及从键盘或鼠标读取事件的命令。在这里,我们应用GLUT库简化Windows窗口操作。 2.准备GLUT库 下载glut压缩包后,解压,把glut32.dll放在Windows的system32目录下,将glut32.lib 放在C:\program files\Microsoft Visual Studio\VC98\Lib目录中,将glut.h放在C:\program files\Microsoft Visual Studio\VC98\Include\GL目录中 2.在VC中新建项目 新建一个项目。 选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32 Console Application项,然后填入你自己的Project name,回车即可。VC为你创建一个工作区(WorkSpace),你的项目就放在这个工作区里。 为项目添加文件 为了使用OpenGL,我们需要在项目中加入相关的Lib文件:glut32.lib 选中菜单Project->Settings项,在link选项卡中的Object/Library modules栏中加入glut32.lib。 选择菜单File中的New选项,弹出一个分页的对话框,选中页Files中的C++sourcefile,填入文件名,钩选添加到刚才建的那个工程里,然后就可以开始编程了。 3.一个OpenGL的例子 #include //初始化OpenGL void init(void) { glClearColor(0.0f, 0.0f, 0.0f, 0.0f);//设置背景颜色 glShadeModel(GL_FLAT);//设置明暗处理 } //主要的绘制过程 void display(void) { glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓存 glBegin(GL_LINES);//开始画直线 glColor3f(1.0f, 1.0f, 1.0f);//设置颜色为白色 glVertex2f(30.0f, 30.0f);//第一根线的两个端点 glVertex2f(200.0f, 400.0f);

学校纪检部工作总结

学校纪检部工作总结 回首一学期以来,我系团总支纪检部在校团委正确的领导和系领导的殷切关怀下,严谨务实,扎实肯干,保证了工作质量的同时也严于律己再接再厉,在工作中求进步求发展,各学生干部积极发挥职能作用,各项工作做到了有序不乱,稳步发展。圆满的完成了各项工作。现将我部本学期工作总结如下: 一、洋溢青春激情喜迎新生入校 新学年、新气象、新面貌,来自全国各地的莘莘学子们带着对大学生活的无限憧憬来到了我校。我系团委积极开展迎新活动,热情和善地帮助新生解决各种问题,哪里需要帮助哪里就有他们忙碌的身影,得到了师生们的一致认可和好评。 二、积极组织纳新注入新鲜血液 面对又一批新生入校,为了为团委注入新鲜血液,保证部门日常工作有序高效地进行,我系团委举办了招新活动。活动前各部之间积极协调配合,做好充分准备,保证了招新工作的顺利开展。在自荐大会上,自荐的新生个个朝气蓬勃,展现属于自己的闪光点,努力把最好的一面展示给大家,充满了活跃的青春气息,招新工作也在欢乐向上的氛围下圆满结束,为团委日后工作的展开奠定坚实基础。本次工作不仅

培养了各部之间的协作精神与工作能力,而且增进了各部之间的交流,使得各部更加团结友好,也增进了各部合作的默契感。 三、开展团干培训提高团干素质 为了提升团员的自身素质,我系团委积极组织团干培训,对各班团干以及团委成员进行培训。我部配合其他部门积极做好本职工作保证了培训工作有序进行。通过此次团干培训,很大的提高了团员素质,是团干更加了解本职工作,为以后积极配合组织工作奠定了基础。 四、整理新生团档做好团员管理 为了促进团总支工作的正常有序进行,我系团委对大一新生团员进行了团档的收取和整理,并对团员与非团员做了统计。后续对团员证进行了注册工作,及时地完成收团费和团员证的补办工作,又完成了团统及团小组的建制。此次工作我纪检部同其他部门密切配合,并快速高效地完成。该项工作不仅使我们的工作能力得到了提高,也使今后的团员管理工作更加方便有序。 五、开展业余团课提高思想素质 为了培养和提高我系青年团员的素质、加深对共青团的认识、进一步加强团总支的核心和凝聚力,团总支组织了新一期的业余团课培训。我纪检部认真为此次团课做好准备工作,积极配合老师,维持课堂纪律,为同学们提供了一个良

OpenGL学习入门之VS2010环境配置

OpenGL学习入门之VS2010环境配置OpenGL开发环境简介 基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里假定用户将Windows NT安装在C盘上)。OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。OpenGL 函数命令方式十分有规律,每个库函数均有前缀gl、glu、aux,分别表示该函数属于OpenGL 基本库、实用库或辅助库。Windows NT下的OpenGL包含了100多个核心函数,均以gl 作为前缀,同时还支持另外四类函数: OpenGL实用库函数:43个,以glu作为前缀; OpenGL辅助库函数:31个,以aux作为前缀; Windows专用库函数(WGL):6个,以wgl作为前缀; Win32API函数(WGL):5个,无前缀。 安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k) https://www.360docs.net/doc/171814662.html,/resources/libraries/glut/glutdlls37beta.zip VS环境配置 将下载的压缩包解开,将得到5个文件(glut.dll, glut32.dll, glut.lib, glut32.lib,glut.h)

(1)把glut.h复制到x:\Program Files\Microsoft\Visual Studio 10.0\VC\include\GL文件夹中,如果没有GL这个文件夹则可以自己新建一个。(x是你安装VS的盘符号)(2)把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(即与include并排的lib文件夹下)。 (3)把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32) (注:如在开发应用程序时用到OpenGL辅助库函数,则还需下载相应动态链接库,包含glaux.dll, glaux.lib, glaux.h,相应步骤同上) 第一个OpenGL程序 首先创建工程,其步骤如下: (1)创建一个Win32 Console Application。 (2)链接OpenGL libraries。在Visual C++中先单击Projec / Settings,找到Link标签,最后在Object/library modules 中加上OpenGL32.lib;GLu32.lib;glut.lib;glut32.lib 。 (3)单击Project / Settings中的C/C++标签,将Preprocessor definitions 中的_CONSOLE 改为__WINDOWS。 (4)单击Project / Settings中的General标签,将Character Set属性值改变为Not Set,最后单击OK。 现在你可以把下面的例子拷贝到工程中去,编译运行。你可以看到一个彩色的三角形,如图1所示。

学生会卫检部工作总结.doc

学生会卫检部工作总结 在半学期的工作中我也收获了很多。我的自身能力得到很大的提高;培养了我良好的作风;自己的能力也得到了很大的锻炼;明白了怎么去团结每一位卫检部成员;怎样通过大家团结努力把工作做好,集体的力量是巨大的;也为我的以后发展积累一份宝贵的经验。欢迎阅读。 学生会卫检部工作总结 在各位学长的领导下,通过层层选拔。我们部新一届8名干事人员确定下来。我们抱着对工作的热情投入卫检部工作中去。我们都有一个共同的目标—把汽车系卫生搞好。虽然我们在别人吃饭时检查卫生,没别人吃饭的时间长,但这依然不能改变我们对这份工作的热情。卫检部就像是一个小小的家庭,我们部的每一位成员都努力的去完善这个家庭,奉献出自己的最大努力,相信我们部的明天会更加美好! 在经过学长几周的带领与指导下,我们开始正式成为一名卫检部干事工作了。我们需要一个良好的学习环境,这就要求我们要有个良好的卫生情况。卫检部是一个服务的部门,通过我们明天对卫生的检查与督促,为同学们提供一个良好舒适的学习环境。我时刻感觉到身上所背负的职责。 在工作中也遇到一些问题。比如个别班级的卫生情况总是上不去;个别班级对我们的严格检查制度的不了解;院卫检部检

查我们系卫生出现状况;班级文化的建设,但是这些对于我们这些对工作拥有极大热情卫检部来说,这只是通往成功路上的一块块垫脚石。个别班级在我们的帮助下,卫生状况得到很大的好转。我们的校徽告诉我们没有规矩不成方圆,为了大家的学习环境,严格大家也能理解。院卫检部对我们的卫生检查,我们通过把自己卫生努力搞好,让我们系的卫生情况在院里名列前茅,这也将是对我们工作肯定的一种表现。班级文化建设,我们系大多都是男生,没有别的系搞的花花绿绿。但通过我们的努力,向人们证明男生做这一切也很好。我们通过班级的装饰,向全院展示了我们汽车系独特的汽车文化。 在工作中我也存在着不足,需要慢慢去完善。有时班级有一些小问题应该扣分时,自己就动了恻隐之心,心想别人打扫成这样也不容易,不想再给扣分了。这违背了公平的原则。以后要改正。有时检查班级不够认真,没有发现一些小问题,但被院卫检部检查出来问题。导致整个系卫生情况在院里排名受影响。这是个严重的问题,以后要认真的去检查,不能放过每一个角落。 在半学期的工作中我也收获了很多。我的自身能力得到很大的提高;培养了我良好的作风;自己的能力也得到了很大的锻炼;明白了怎么去团结每一位卫检部成员;怎样通过大家团结努力把工作做好,集体的力量是巨大的;也为我的以后发展积累一份宝贵的经验、、、

大学学生会纪检部工作总结

大学学生会纪检部工作总结 大学学生会纪检部工作总结1 时光流逝,岁月如梭,转眼间大学新的一个学期就在弹指一挥间过去了,这一学期的纪检工作也完满结束。这一个学期我们谨记为同学服务的宗旨,怀着全心全意为广大同学服务的信心,认真地完成了各项工作。在系领导的帮助和各班、各部门同学的积极配合和支持,以及本部门全体成员的努力下,纪检工作取得了一定的成果,得到了广大同学的肯定。 一、工作总汇 这学期我们迎来了09级的新生,我们学生会也招收了不少新成员,新的学生会干部到来后,我们纪检部一共就有了3位成员,我、王小宇和方昭力。接下来我们展开了一系列的工作: 首先是运动会,运动会上,我部的干事踊跃,积极地维护秩序签到工作以及在系大本营区都可以看到我们部干事在自己的岗位上为运动员提供服务.并检查了各班卫生状况。运动会中我们安排了各个系干的职责,包括查各班认识,卫士,凳子数量等等。一天查3次,分别是早上来的时候,中午走的时候和下午走的时候。并且我们还安排了系干分班工作,每人查一天休息一天,同时我们还安排有中午值班的,搬桌椅等等各个工作的同学。 然后就是辩论赛啊等等各个小型的活动,为此,我们安排了8号报告厅的座次表和系干查考勤,以方便活动的正常开展。

最大的一次活动就是前几天举行的元旦晚会及07级同学的送别晚会,因为是在大礼堂举行,我们负责大礼堂的座次还有每个学生会干部的工作,我们安着每个系的人数将大礼堂分为若干个区域,每个系都有一个区域,并且每个系都安排了负责的学生会干部!关于学生会干部的工作安排到了每一个人的身上,包括守门的,迎接嘉宾的,后天帮忙的,维持纪律的等等。 二、存在的问题 但是,也应该看到,在工作中有很多不足的地方,由于很多工作都是第一次接手,有很多不熟悉的地方,所以工作并不是100%会保证准确,出现这样的问题我们在第一时间做了修改,把错误率降到了最低。 我认为,在下学期的纪检工作中要从这个方面改进: 1.缺少部门与部门之间的沟通。千里之堤毁于蚁穴,我们一定在下一个学期中认真解决好这些问题,努力完善好考勤工作。 2.带领部门干事与其他系进行经验交流,并相互学习,加强之间的联系。 三、工作展望 1.全面加强各项考勤措施,依照学院和系里制定的详细考勤细则开展工作。 2.充分发挥部门成员的主观能动性,与学生会各部门团结合作,共同为我系贡献自己的力量。 这学期即将过去,我们将一如继往发挥我们团结、协作、分工的

OpenGL入门学习——第三课 绘制几何图形的一些细节问题

OpenGL入门学习——第三课绘制几何图形的一些细节问题 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处。例如:点太小,难以看清楚;直线也太细,不舒服;或者想画虚线,但不知道方法只能用许多短直线,甚至用点组合而成。 这些问题将在本课中被解决。 下面就点、直线、多边形分别讨论。 1、关于点 点的大小默认为1个像素,但也可以改变之。改变的命令为glPointSize,其函数原型如下:void glPointSize(GLfloat size); size必须大于0.0f,默认值为1.0f,单位为“像素”。 注意:对于具体的OpenGL实现,点的大小都有个限度的,如果设置的size超过最大值,则设置可能会有问题。 例子: void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glPointSize(5.0f); glBegin(GL_POINTS); glVertex2f(0.0f, 0.0f); glVertex2f(0.5f, 0.5f); glEnd(); glFlush(); } 2、关于直线 (1)直线可以指定宽度: void glLineWidth(GLfloat width); 其用法跟glPointSize类似。 (2)画虚线。 首先,使用glEnable(GL_LINE_STIPPLE);来启动虚线模式(使用glDisable(GL_LINE_STIPPLE)可以关闭之)。 然后,使用glLineStipple来设置虚线的样式。 void glLineStipple(GLint factor, GLushort pattern); pattern是由1和0组成的长度为16的序列,从最低位开始看,如果为1,则直线上接下来应该画的factor个点将被画为实的;如果为0,则直线上接下来应该画的factor个点将被画为虚的。 以下是一些例子: https://www.360docs.net/doc/171814662.html,/upfile/200608/20060801172519.gif 声明:该图片来自https://www.360docs.net/doc/171814662.html,,该图片是《OpenGL编程指南》一书的附图,由于该书的旧版(第一版,1994年)已经流传于网络,我希望没有触及到版权问题。 示例代码:

检测部工作总结

检测部工作总结 篇一:XX检测员工作总结 工作总结 时间荏苒,岁月穿梭,转眼间XX年在紧张和忙碌中过去了,回顾4年来,我作为一名检验员,有很多进步,但是也存在一些不足之处。 在检测四年来,在领导的关心指导下,在同事的支持帮助下,我不但勤奋踏实地完成了本职工作,而且顺利完成了领导交办的各项临时任务,自身在各方面都有所提升。为了更好地做好今后的工作,总结经验,吸取教训,本人XX 年的工作总结为以下几项: 一、努力学习,全面学习新知识 检验工作是一个特殊的岗位,它要求永无止境的学习新的知识和提高技能,为达到这一要求,所以我们必须要注重学习。 二、努力工作,完成各项任务 一年中,因休产假未能赶上公司搬新地址的任务,很是遗憾,四月份上班工作岗位是做业务员。收样录单子盖章打印报告存档案,与同事合作的很愉快。其实业务员需要的综合素质很强既要了解样品的接受数量,标准规范,价格,也要了解试验完成时间打印报告,很好的与客户沟通。完成了领导给予的任务。

之后因工作需要调回检验室,负责水泥粉煤灰检测。因在哺乳期公司福利享有哺乳时间,特别感谢领导的关心与照顾,在主任和同事的帮助下慢慢熟悉了检测的过程,认真仔细重新学习标准,很快掌握了水泥粉煤灰的检测。 三、日常生活,工作态度积极端正 四年以来,我能自觉遵守公司的各项规章制度,在工作中,不迟到、不早退、有事主动请假,尊重领导、团结同事,待人真诚,任劳任怨。努力做到了:一是按规章自律。领导规定不准做的我绝对不做,领导要求达到的我争取达到,不违章、违纪,不犯规、犯法,做个称职的检测员。二是用制度自律。我严格按公司制定的各项制度办事。在质量方面,坚决做不该用的坚决不用。在同部门其他同事的工作协调上,做到互相理解、互帮互学、真诚相待,建立了友谊,也获得了许多有益的启示。勇于进取,一如既往地做好每一件事情。 四、存在的主要问题 回顾检查自身存在的问题,虽能敬业爱岗、积极主动开展工作,取得了一些成绩,但仍然有许多需要不断的改进和完善的地方,我一直在努力,并且力求做 好。在工作中由于专业知识较少,经验不足,对待一些问题的解决方法过于单纯,工作方法过于简单;看待问题有时比较片面,以点盖面,在一些问题的处理上显得还不够冷静。在完成领导交办的任务的基础上,发挥自身优势,继续

学生会学检部工作总结

学生会学检部工作总结 伟大领袖毛泽东说过:“三十八年过去了,弹指一挥间”。是啊,转眼间,一个学期就这样结束了,回顾自己从加入学检部以来,心有所感,心有所得!最重要的就是对我们部门工作的得心应手! 依稀记得当时怀着紧张的心情竞选加入学检部,庆幸自己能顺利通过考核。从一开始工作的处处不懂到及时请教学姐学长;从工作态度的无所谓到工作态度的高度负责;从对部门人员的不熟悉到大家相见语不完啊;从对学姐学长的没礼貌到对学姐学长的礼貌“过度”……. 是的,学检部真的很能锻炼人。其工作看起来简单,但事实上却很琐碎繁杂。要知道,一只蚂蚁的力量是有限的,可是成千上万只蚂蚁汇集起来,那力量不可想像啊。因此,要做好学检部的工作,必须做到以下几点,这也是我在实际检查工作中的心得感悟。 第一,要做到心细、认真。在检查时,必须认真记录好各班的出勤情况,决不能马虎的记下,以应付差事一样。要仔细核对班级没有上早、晚自习的同学的去向和原因,决不能死抄各班黑板上的出勤情况,以防欺骗!!做好周汇总、月汇总:做周汇总、月汇总,需要同组值班的人共同努力、共同配合,统计好当周的每日情况,统计好每周的情况,统计好其他部门提供的检查情况,统计好班级加分情况。这

项统计工作是很碎,很繁,但只要我们有足够的耐心,坚定地决心,加上一颗十足的认真之心,不厌其烦地去做,就一定可以搞定的!! 第二,要做到负责。首先,检查时遇到请假的要记着要假条,其次,对于不能按时上交的假条,在下次值班时要及时收,对不交假条的该扣分就必须得扣,绝不手软!对每一个班级负责,对学检部负责,对学生会负责!!! 第三,要做到公平公正。决不能以公谋私,该扣分的就得扣,决不能因为是自己班级的就不扣分,决不能因为是认识的人或朋友或老乡就不扣分。做到一视同仁,只有这样,检查才有意义。 第四,要会检查。检查中出现问题被扣分的班级,要认真耐心地与他们班班委进行交流沟通,指出今后要注意,让他们明白:扣分扣得理所当然,扣分不是目的,只是提高大家自觉性的手段,最终使大家都能遵守班规校纪,做一名严于律己的大学生,进而做一名合格的“四有公民”!!!

_OpenGL入门教程

OpenGL入门教程 1.第一课: 说起编程作图,大概还有很多人想起TC的#include 吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。 OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。 1、与C语言紧密结合。 OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。 2、强大的可移植性。 微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL的基本命令都做到了硬件无关,甚至是平台无关。 3、高性能的图形渲染。 OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。 总之,OpenGL是一个很NB的图形软件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等专业游戏就知道了。 OpenGL官方网站(英文) https://www.360docs.net/doc/171814662.html, 下面我将对Windows下的OpenGL编程进行简单介绍。 学习OpenGL前的准备工作 第一步,选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL 的。但这里我们选择Visual Studio 2005作为学习OpenGL的环境。 第二步,安装GLUT工具包 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k) https://www.360docs.net/doc/171814662.html,/resources/libraries/glut/glutdlls37beta.zip 无法从以上地址下载的话请使用下面的连接: https://www.360docs.net/doc/171814662.html,/upfile/200607311626279.zip Windows环境下安装GLUT的步骤: 1、将下载的压缩包解开,将得到5个文件

计算机图形学 opengl 文字显示

#include #include #include #pragma comment(linker, "/subsystem:console") using namespace std; void myReshape(GLsizei w,GLsizei h) { glViewport(0,0,w,h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if(w<=h) glOrtho(-20.0,20.0,-20.0*(GLfloat)h/(GLfloat)w, 20.0*(GLfloat)h/(GLfloat)w,-50.0,50.0); else glOrtho(-20.0*(GLfloat)h/(GLfloat)w, 20.0*(GLfloat)h/(GLfloat)w,-20.0,20.0,-50.0,50.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void drawCNString(const char* str) { int len=0, i; wchar_t* wstring; HDC hDC = wglGetCurrentDC(); GLuint list = glGenLists(1); for(i=0; str[i]!='\0'; ++i) { if( IsDBCSLeadByte(str[i]) ) ++i; ++len; } wstring = (wchar_t*)malloc((len+1) * sizeof(wchar_t)); MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, str, -1, wstring, len); wstring[len] = L'\0'; for(i=0; i

相关文档
最新文档