当前位置: 首页 > news >正文

淘宝客网站备案信息郑州男科医院哪家治疗比较好

淘宝客网站备案信息,郑州男科医院哪家治疗比较好,遵义网站建设gzyhg,那几个网站可以做h5看一张图片#xff1a; 图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的#xff0c;它看起来就像是一个二维的圆盘#xff0c;没有立体的感觉。左边的一个是使用了简单的光照效果的#xff0c;我们通过光照的层次#xff0c;很容易的认为它是一… 看一张图片 图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的它看起来就像是一个二维的圆盘没有立体的感觉。左边的一个是使用了简单的光照效果的我们通过光照的层次很容易的认为它是一个三维的物体 眼睛之所以看见各种物体是因为光线直接或间接的从它们那里到达了眼睛。人类对于光线强弱的变化的反应比对于颜色变化的反应来得灵敏。因此对于人类而言光线很大程度上表现了物体的立体感。 建立光照模型 OpenGL在处理光照时采用这样一种近似把光照系统分为三部分分别是光源、材质和光照环境。 光源就是光的来源可以是前面所说的太阳或者电灯等。 材质是指接受光照的各种物体的表面由于物体如何反射光线只由物体表面决定OpenGL中没有考虑光的折射材质特点就决定了物体反射光线的特点。 光照环境是指一些额外的参数它们将影响最终的光照画面比如一些光线经过多次反射后已经无法分清它究竟是由哪个光源发出这时指定一个“环境亮度”参数可以使最后形成的画面更接近于真实情况。 在物理学中光线如果射入理想的光滑平面则反射后的光线是很规则的这样的反射称为镜面反射。 光线如果射入粗糙的、不光滑的平面则反射后的光线是杂乱的这样的反射称为漫反射。 现实生活中的物体在反射光线时并不是绝对的镜面反射或漫反射但可以看成是这两种反射的叠加。 对于光源发出的光线可以分别设置其经过镜面反射和漫反射后的光线强度。对于被光线照射的材质也可以分别设置光线经过镜面反射和漫反射后的光线强度。这些因素综合起来就形成了最终的光照效果。 法线向量 根据光的反射定律由光的入射方向和入射点的法线就可以得到光的出射方向。 因此对于指定的物体在指定了光源后即可计算出光的反射方向进而计算出光照效果的画面。 在OpenGL中法线的方向是用一个向量来表示。 不幸的是OpenGL并不会根据你所指定的多边形各个顶点来计算出这些多边形所构成的物体的表面的每个点的法线这话听着有些迷糊通常为了实现光照效果需要在代码中为每一个顶点指定其法线向量。 指定法线向量的方式与指定颜色的方式有雷同之处。在指定颜色时只需要指定每一个顶点的颜色OpenGL就可以自行计算顶点之间的其它点的颜色。 并且颜色一旦被指定除非再指定新的颜色否则以后指定的所有顶点都将以这一向量作为自己的颜色。 在指定法线向量时只需要指定每一个顶点的法线向量OpenGL会自行计算顶点之间的其它点的法线向量。 并且法线向量一旦被指定除非再指定新的法线向量否则以后指定的所有顶点都将以这一向量作为自己的法线向量。 使用glColor*函数可以指定颜色而使用glNormal*函数则可以指定法线向量。 注意使用glTranslate*函数或者glRotate*函数可以改变物体的外观但法线向量并不会随之改变。 然而使用glScale*函数对每一坐标轴进行不同程度的缩放很有可能导致法线向量的不正确虽然OpenGL提供了一些措施来修正这一问题但由此也带来了各种开销。 因此在使用了法线向量的场合应尽量避免使用glScale*函数。即使使用也最好保证各坐标轴进行等比例缩放。 控制光源 在OpenGL中仅仅支持有限数量的光源。 使用GL_LIGHT0表示第0号光源GL_LIGHT1表示第1号光源依次类推. OpenGL至少会支持8个光源即GL_LIGHT0到GL_LIGHT7。 使用glEnable函数可以开启它们。例如glEnable(GL_LIGHT0);可以开启第0号光源。 使用glDisable函数则可以关闭光源。 一些OpenGL实现可能支持更多数量的光源但总的来说开启过多的光源将会导致程序运行速度的严重下降玩过3D Mark的朋友可能多少也有些体会。一些场景中可能有成百上千的电灯这时可能需要采取一些近似的手段来进行编程否则以目前的计算机而言是无法运行这样的程序的。 每一个光源都可以设置其属性这一动作是通过glLight*函数完成的。 glLight*函数具有三个参数第一个参数指明是设置哪一个光源的属性第二个参数指明是设置该光源的哪一个属性第三个参数则是指明把该属性值设置成多少。光源的属性众多下面将分别介绍。 1GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR属性。 这三个属性表示了光源所发出的光的反射特性以及颜色。 每个属性由四个值表示分别代表了颜色的R, G, B, A值。 GL_AMBIENT表示该光源所发出的光经过非常多次的反射后最终遗留在整个光照环境中的强度颜色。 GL_DIFFUSE表示该光源所发出的光照射到粗糙表面时经过漫反射所得到的光的强度颜色 GL_SPECULAR表示该光源所发出的光照射到光滑表面时经过镜面反射所得到的光的强度颜色。 2GL_POSITION属性。 表示光源所在的位置。 由四个值X, Y, Z, W表示。 如果第四个值W为零则表示该光源位于无限远处前三个值表示了它所在的方向。 这种光源称为方向性光源通常太阳可以近似的被认为是方向性光源。 如果第四个值W不为零则X/W, Y/W, Z/W表示了光源的位置。 这种光源称为位置性光源。对于位置性光源设置其位置与设置多边形顶点的方式相似各种矩阵变换函数例如glTranslate*、glRotate*等在这里也同样有效。 方向性光源在计算时比位置性光源快了不少因此在视觉效果允许的情况下应该尽可能的使用方向性光源。 3GL_SPOT_DIRECTION、GL_SPOT_EXPONENT、GL_SPOT_CUTOFF属性。 表示将光源作为聚光灯使用这些属性只对位置性光源有效。很多光源都是向四面八方发射光线但有时候一些光源则是只向某个方向发射比如手电筒只向一个较小的角度发射光线。 GL_SPOT_DIRECTION属性有三个值表示一个向量即光源发射的方向。 GL_SPOT_EXPONENT属性只有一个值表示聚光的程度为零时表示光照范围内向各方向发射的光线强度相同为正数时表示光照向中央集中正对发射方向的位置受到更多光照其它位置受到较少光照。数值越大聚光效果就越明显。 GL_SPOT_CUTOFF属性也只有一个值表示一个角度它是光源发射光线所覆盖角度的一半见下图其取值范围在0到90之间也可以取180这个特殊值。取值为180时表示光源发射光线覆盖360度即不使用聚光灯向全周围发射。 4GL_CONSTANT_ATTENUATION、GL_LINEAR_ATTENUATION、GL_QUADRATIC_ATTENUATION属性。 这三个属性表示了光源所发出的光线的直线传播特性这些属性只对位置性光源有效。 现实生活中光线的强度随着距离的增加而减弱OpenGL把这个减弱的趋势抽象成函数 衰减因子  1 / (k1  k2 * d  k3 * k3 * d) 其中d表示距离光线的初始强度乘以衰减因子就得到对应距离的光线强度。 k1, k2, k3分别就是GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION。 通过设置这三个常数就可以控制光线在传播过程中的减弱趋势。 属性还真是不少。当然了如果是使用方向性光源34这两类属性就不会用到了问题就变得简单明了。 控制材质 材质与光源相似也需要设置众多的属性。不同的是光源是通过glLight*函数来设置的而材质则是通过glMaterial*函数来设置的。 glMaterial*函数有三个参数。第一个参数表示指定哪一面的属性。可以是GL_FRONT、GL_BACK或者GL_FRONT_AND_BACK。分别表示设置“正面”“背面”的材质或者两面同时设置。 第二、第三个参数与glLight*函数的第二、三个参数作用类似。 下面分别说明glMaterial*函数可以指定的材质属性。 1GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR属性。 这三个属性与光源的三个对应属性类似每一属性都由四个值组成。 GL_AMBIENT表示各种光线照射到该材质上经过很多次反射后最终遗留在环境中的光线强度颜色。 GL_DIFFUSE表示光线照射到该材质上经过漫反射后形成的光线强度颜色。 GL_SPECULAR表示光线照射到该材质上经过镜面反射后形成的光线强度颜色。 通常GL_AMBIENT和GL_DIFFUSE都取相同的值可以达到比较真实的效果。 使用GL_AMBIENT_AND_DIFFUSE可以同时设置GL_AMBIENT和GL_DIFFUSE属性。 2GL_SHININESS属性。 该属性只有一个值称为“镜面指数”取值范围是0到128。 该值越小表示材质越粗糙点光源发射的光线照射到上面也可以产生较大的亮点。该值越大表示材质越类似于镜面光源照射到上面后产生较小的亮点。 3GL_EMISSION属性。该属性由四个值组成表示一种颜色。OpenGL认为该材质本身就微微的向外发射光线以至于眼睛感觉到它有这样的颜色但这光线又比较微弱以至于不会影响到其它物体的颜色。 4GL_COLOR_INDEXES属性。 该属性仅在颜色索引模式下使用由于颜色索引模式下的光照比RGBA模式要复杂并且使用范围较小这里不做讨论。 选择光照模型这里所说的“光照模型”是OpenGL的术语它相当于我们在前面提到的“光照环境”。 在OpenGL中光照模型包括四个部分的内容 全局环境光线即那些充分散射无法分清究竟来自哪个光源的光线的强度、 观察点位置是在较近位置还是在无限远处、物体正面与背面是否分别计算光照、 镜面颜色即GL_SPECULAR属性所指定的颜色)的计算是否从其它光照计算中分离出来并在纹理操作以后在进行应用。 以上四方面的内容都通过同一个函数glLightModel*来进行设置。 该函数有两个参数第一个表示要设置的项目第二个参数表示要设置成的值。 GL_LIGHT_MODEL_AMBIENT表示全局环境光线强度由四个值组成。 GL_LIGHT_MODEL_LOCAL_VIEWER表示是否在近处观看若是则设置为GL_TRUE否则即在无限远处观看设置为GL_FALSE。 GL_LIGHT_MODEL_TWO_SIDE表示是否执行双面光照计算。如果设置为GL_TRUE则OpenGL不仅将根据法线向量计算正面的光照也会将法线向量反转并计算背面的光照。 GL_LIGHT_MODEL_COLOR_CONTROL表示颜色计算方式。 如果设置为GL_SINGLE_COLOR表示按通常顺序操作先计算光照再计算纹理。 如果设置为GL_SEPARATE_SPECULAR_COLOR表示将GL_SPECULAR属性分离出来先计算光照的其它部分待纹理操作完成后再计算GL_SPECULAR。 后者通常可以使画面效果更为逼真当然如果本身就没有执行任何纹理操作这样的分离就没有任何意义。 OpenGL默认是关闭光照处理的。要打开光照处理功能使用下面的语句 glEnable(GL_LIGHTING); 要关闭光照处理功能使用glDisable(GL_LIGHTING);即可。
http://www.zqtcl.cn/news/661636/

相关文章:

  • 自动化科技产品网站建设响应式博客wordpress
  • 个人建站如何赚钱男人的好看网
  • 门户网站建设管理工作作一手房用什么做网站
  • 网站建设优化服务案例三合一网站程序
  • 网站长尾词关于制作网站的方案
  • 做二手衣服的网站有哪些wordpress单本小说采集
  • 曲靖市建设局网站品牌营销咨询公司是做什么的
  • wordpress网站统计代码放哪个文件putty搭建wordpress
  • 桦南县建设局网站天坛装修公司口碑怎么样
  • 网站的建设求职简历网站开发与维护价格
  • 网站空间备份站长网站优点
  • 房产网站做那个比较好网页设计属于前端吗
  • 衡水企业网站建设费用html5网页设计教程
  • 用wp系统做网站网站有收录没排名
  • 网站源码程序下载ios开发软件
  • 设计好的网站什么是企业网站策划案
  • 北京网站建设亿玛酷适合5传奇网站装备动态图怎么做
  • 多平台网站设计实例3d效果图什么网站做的好
  • 58同城西安网站建设购物网站前端浮动特效怎么做
  • asp网站模板源码wordpress 画图插件
  • 免费网站建站 知乎伪原创嵌入网站
  • 2网站建设城乡住房建设网站
  • 游戏网站建设公司建设银行网站登陆二星是什么意思
  • 长春网站排名优化泉州网站建设方案服务
  • 教育培训机构加盟十大排名搜索引擎优化宝典
  • 全景精灵网站建设网站建设长尾关键词
  • 老城网站建设注册网站不需要手机验证的
  • 可以赚钱做任务的网站有哪些莘县做网站
  • 可信网站 认证规则山东网站建设代理
  • 网站怎么谈设计常用的软件开发文档有哪些