博文

目前显示的是 三月, 2009的博文

武大和服事件之感想

近日来, 这件事情颇为热闹. 不少理智人士颇为惊讶莫名. 将廉价爱国, 冲动, 无理智等等大帽盖在这轰赶和服母女的学生头上. 不可否认, 和服是属于日本的民族服装. 但在中国的土地上穿上和服, 毕竟还是很难让人接受的事情. 且不说中日战争, 就那对母女穿上和服, 我是一点美感都没看出来. 一个中国人, 以穿外国传统服装为荣, 真的很难揣测这对母女之心态. 而对于任何参加武大樱花盛典的人, 看到这对母女, 至少心里是绝对不喜的, 只是很少有人直接出面反对而已. 一些学生出于义愤轰赶这对母女. 怎么就导致一些人惊讶莫名了呢? 虽然中国有很多人借爱国敛财, 借爱国做一些丑陋的事情. 但是如果整个国家的青年对于历史没有了羞耻感, 对国家一点感情都没了, 那才是整个中国莫大的悲哀. 就好比法国的青年, 如果看到法国人穿纳粹服装在凯旋门耀武扬威之时,不义愤,不作为, 反而大喊这是人家的个人爱好和权利一样. 我对中国有些文人那出奇冷酷的理智表示无语...

OpenGL 红宝书 纹理映射

图片
9.1 概述和范例 9.1.1 纹理映射的步骤 1) 创建纹理对象并为其指定纹理. 2) 指出如何将纹理应用于每个像素 3) 启用纹理映射 4) 使用纹理坐标和几何坐标来绘制场景. 只能RGBA模式下使用纹理映射 步骤: 1, 创建纹理对象并为其指定纹理 纹理不但是二维的,也可以是一维或三维的. 2. 指定如何将纹理应用于每个像素 根据片元的颜色和纹理图像数据计算最终的RGBA值的方法: 1) 将纹理颜色作为最终的颜色, 就像贴花(替换模式), 将纹理绘制到片元 2) 使用纹理来调整(缩放)片元的颜色 3) 根据纹理数据, 将一种常量颜色和片元混合起来. 3. 启用纹理映射 使用符号常量 GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP作为参数调用函数glEnable()或glDisable(); 分别对应于一维, 二维, 三维和立方图纹理映射模式 4. 使用纹理坐标和几何坐标绘制场景 9.2 指定纹理 void glTexImage2D(GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,         GLint border,GLenum format,GLenum type,const GLvoid *pixels); target: GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,GL_PROXY_TEXTURE_CUBE_MAP level: 如果提供的纹理映射图有多种分辨率, 应相应地设置参数level, 如只有一种分辨率, level为0. internalformat: 指出了纹理中存储了哪些分量(RGBA, 深度, 辉度或

OpenGL 红宝书 反走样 雾 点参数 多边形偏移

6.1 混合 6.1.1 源因子和目标因子 假定源和目标混合因子分别为(Sr, Sg, Sb, Sa)和(Dr,Dg,Db,Da), 混合后的RGB值如下: (RsSr + RdDr, GsSg + GdDg, BsSb + BdDb, AsSa + AdDa) 最后,将该四元组的各个分量截取到[0,1]. 将源片元和目标象素合并起来的默认方式是,将它们的值相加. 选择源混合因子和目标混合因子的方式: 第一种方式是调用函数glBlendFunc(),并指定两个混合因子, 其中第一个参数为源RGBA的混合因子, 第二个参数为目标RGBA的混合因子. 第二种方法是调用glBlendFuncSeparate()并指定4个混合因子, 这样可以用不同的方式来混合RGB和alpha值. void glBlendFunc(GLenum srcfactor, GLenum destfactor); srcfactor指出如何计算源混合因子; destfactor指出如何计算目标混合因子. void glBlendFuncSeparate(GLenum srcRGB, GLenum destRGB, GLenum srcalpha, GLenum destalpha); 源混合因子和目标混合因子 常量: RGB混合因子 alpha混合因子 GL_ZERO: (0, 0, 0) 0 GL_ONE: (1, 1, 1) 1 GL_DST_COLOR: (Rd, Gd, Bd) GL_SRC_COLOR: (Rs, Gs, Bs) A GL_ONE_MINUS_DST_COLOR: (1, 1, 1) - (Rd, Gd, Bd) GL_ONE_MINUS_SRC_COLOR: (1, 1, 1) - (Rs, Gs, Bs) 1 - A GL_SRC_ALPHA: (As,As,As,As) GL_ONE_MINUS_SRC_ALPHA: (1, 1, 1, 1) - (As,As,As,As) GL_DST_ALPHA: (Ad, Ad, Ad, Ad) GL_ONE_MINUS_DST_ALPHA: (1, 1, 1, 1) - (Ad, Ad, Ad, Ad) GL_SRC_ALPHA_STATURATE: (f, f, f,

OpenGL 红宝书 混合

图片
6.1 混合 6.1.1 源因子和目标因子 假定源和目标混合因子分别为 (Sr, Sg, Sb, Sa) 和 (Dr,Dg,Db,Da), 混合后的 RGB 值如下 : (RsSr + RdDr, GsSg + GdDg, BsSb + BdDb, AsSa + AdDa) 最后 , 将该四元组的各个分量截取到 [0,1]. 将源片元和目标象素合并起来的默认方式是 , 将它们的值相加 . 选择源混合因子和目标混合因子的方式 : 第一种方式是调用函数 glBlendFunc(), 并指定两个混合因子 , 其中第一个参数为源 RGBA 的混合因子 , 第二个参数为目标 RGBA 的混合因子 . 第二种方法是调用 glBlendFuncSeparate() 并指定 4 个混合因子 , 这样可以用不同的方式来混合 RGB 和 alpha 值 . void glBlendFunc(GLenum srcfactor, GLenum destfactor); srcfactor 指出如何计算源混合因子 ; destfactor 指出如何计算目标混合因子 . void glBlendFuncSeparate(GLenum srcRGB, GLenum destRGB, GLenum srcalpha, GLenum destalpha); 源混合因子和目标混合因子 常量 : RGB 混合因子 alpha 混合因子 GL_ZERO: (0, 0, 0) 0 GL_ONE: (1, 1, 1) 1 GL_DST_COLOR: (Rd, Gd, Bd) GL_SRC_COLOR: (Rs, Gs, Bs) A GL_ONE_MINUS_DST_COLOR: (1, 1, 1) - (Rd, Gd, Bd) GL_ONE_MINUS_SRC_COLOR: (1, 1, 1) - (Rs, Gs, Bs) 1 - A GL_SRC_ALPHA: (As,As,As,As) GL_ONE_MINUS_SRC_ALPHA: (1, 1, 1, 1) - (As,As,As,As) GL_DST_ALPHA: (Ad, Ad, Ad, Ad) GL_ONE_MINUS_DST_ALPH