Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

OpenGL超级宝典学习笔记——纹理映射(一)

OpenGL超级宝典学习笔记——纹理映射(一)

纹理映射,是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。纹理映射是真实感图像制作的一个重要部分,运用它可以方便的制作出极具真实感的图形而不必花过多时间来考虑物体的表面细节。然而纹理加载的过程可能会影响程序运行速度,当纹理图像非常大时,这种情况尤为明显。如何妥善的管理纹理,减少不必要的开销,是系统优化时必须考虑的一个问题。其中OpenGL提供了纹理对象对象管理技术来解决上述问题。与显示列表一样,纹理对象通过一个单独的数字来标识。这允许OpenGL硬件...
破壳漏洞(Shellshock)分析CVE-2014-6271

破壳漏洞(Shellshock)分析CVE-2014-6271

前段时间的破壳漏洞让各个公司忙的够呛,漏洞也过去一段时间了,大牛们的各种分析网上也是转来转去。等他们消停了,该我好好收集资料消化消化这个漏洞了。漏洞简介GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行Shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash Shell之前可以用构造...
使用Wireshark简单分析ICMP报文

使用Wireshark简单分析ICMP报文

ICMP协议介绍1、ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。2、ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。3...
OpenGL超级宝典学习笔记——纹理映射Mipmap

OpenGL超级宝典学习笔记——纹理映射Mipmap

MipmappingMipmap是一个功能强大的纹理技术,它可以提高渲染的性能以及提升场景的视觉质量。它可以用来解决使用一般的纹理贴图会出现的两个常见的问题:闪烁,当屏幕上被渲染物体的表面与它所应用的纹理图像相比显得非常小时,就会出现闪烁。尤其当相机和物体在移动的时候,这种负面效果更容易被看到。性能问题。加载了大量的纹理数据之后,还要对其进行过滤处理(缩小),在屏幕上显示的只是一小部分。纹理越大,所造成的性能影响就越大。Mipmap就可以解决上面那两个问题...
OpenGL超级宝典学习笔记——纹理高级(一)

OpenGL超级宝典学习笔记——纹理高级(一)

辅助颜色一般情况下,我们设置纹理的环境为GL_MODULATE模式,在这种情况下,受到光照的几何图形会和纹理的颜色进行结合。正常情况下,OpenGL进行光照计算,并根据标准的光照模型进行单个片段的颜色计算。然后,再把片段的颜色乘以纹理的颜色,等到结合后的颜色。但是这样的话会削弱图形的光照效果。因为经过光照计算过后的片段的颜色值最大值是1.0(即最亮的颜色),任何值乘以小于1.0的值,必定小于其本身(即不可能比原来更亮)。(if y <= 1.0 th...
OpenGL超级宝典学习笔记——纹理高级(二)

OpenGL超级宝典学习笔记——纹理高级(二)

立方体贴图还有两种纹理生成模式未介绍,GL_REFLECTION_MAP和GL_NORMAL_MAP,这两种模式需要用到新的纹理目标:立方体贴图。一个立方体贴图被当做一个纹理来看待,它由六个正方形的2D图像(必须是正方形)来组成立方体的六个面。下图展示了cubemap示例的立方体的六个面:这六个面分别是-X,+X,-Y,+Y,-Z,+Z.然后我们使用GL_REFLECTION_MAP的模式来生成纹理,能够制造一个真实的表面的倒影。加载立方体贴图立方体贴图有...
OpenGL超级宝典学习笔记——纹理高级(三)

OpenGL超级宝典学习笔记——纹理高级(三)

纹理组合器OpenGL的纹理组合器可以控制多重纹理的片段是如何组合的。一般情况下,我们可以简单的为每个纹理单元设置一个纹理环境模式(GL_REPLACE,GL_DECAL,GL_ADD和GL_MODULATE),把每个纹理应用的结果添加到下一个纹理单元中。然而纹理组合器提供了一个新的纹理环境GL_COMBINE允许我们显示地控制每一个纹理单元的纹理片段是如何组合的。使用纹理组合器模式代码如下:glTexEnvi(GL_TEXTURE_ENV, GL_TEX...
Cyanogenmod SSL证书主机名验证安全绕过漏洞

Cyanogenmod SSL证书主机名验证安全绕过漏洞

发布日期:2014-10-19更新日期:2014-10-22受影响系统:Cyanogenmod Cyanogenmod <= 10.2描述:BUGTRAQ ID: 70652Cyanogenmod是基于Android移动平台的智能电话及平板电脑的开源操作系统。Cyanogenmod 10.2及更早版本在实现上存在安全绕过漏洞,攻击者可利用此漏洞执行中间人攻击或模拟可信服务器。CyanogenMod 复用代码复制了中间人攻击弱点 http://www....
OpenGL超级宝典学习笔记——曲线和曲面(一)

OpenGL超级宝典学习笔记——曲线和曲面(一)

内部支持的表面GLU库中提供了一些二次曲面的支持。这些二次方程可以渲染球体,圆柱体,圆盘。这些函数有很大的灵活性,我们可以指定圆柱体的一端的半径,然后让另一端的半径为0,这样的话就能构建一个圆锥。我们还可以绘制一个有洞的圆盘。如下图:这些二次方程对象可以构建出更复杂的模型,例如我们可以用球体,圆柱体,圆锥,圆盘来构建一个3D坐标系的模型。在glTools中有提供了这个函数:void gltdDrawUnitAxes();设置二次方程状态在绘制二次方程对象之...
OpenGL超级宝典学习笔记——贝塞尔曲线和曲面

OpenGL超级宝典学习笔记——贝塞尔曲线和曲面

参数方程表现形式在中学的时候,我们都学习过直线的参数方程:y = kx + b;其中k表示斜率,b表示截距(即与y轴的交点坐标)。类似地,我们也可以用一个参数方程来表示一条曲线。1962年,法国工程师贝塞尔发明了贝塞尔曲线方程。关于贝塞尔曲线的详细介绍可以参考(维基贝塞尔)。这里只介绍OpenGL实现贝塞尔的函数。OpenGl定义一条曲线时,也把它定义为一个曲线方程。我们把这条曲线的参数成为u,它的值域就是曲线的定义域。曲面则需要u和v两个参数来描述。注意...
Linux安全:检测并修复Bash中的破壳漏洞

Linux安全:检测并修复Bash中的破壳漏洞

问题:我想要知道我的Linux服务器是否存在bash破壳漏洞,以及如何来保护我的Linux服务器不受破壳漏洞侵袭。2014年9月24日,一位名叫斯特凡·沙泽拉的安全研究者发现了一个名为“破壳”(Shellshock,也称为“bash门”或“Bash漏洞”)的bash漏洞。该漏洞如果被渗透,远程攻击者就可以在调用shell前通过在特别精心编制的环境中输出函数定义执行任何程序...
OpenGL超级宝典学习笔记——NURBS与曲面细分

OpenGL超级宝典学习笔记——NURBS与曲面细分

NURBS贝塞尔曲线的缺点是当我们增加很多控制点的时候,曲线变得不可控,其连续性会变差差。如果控制点很多(高阶曲线),当我们调整一个控制点的位置,对整个曲线的影响是很大的。要获得更高级的控制,可以使用GLU库提供的NURBS(非均匀有理B样条)。通过这些函数我们可以在求值器中调整控制点的影响力,在有大量控制点的情况下,依然可以产生平滑的曲线。从贝塞尔到B样条贝塞尔曲线由起点、终点和其他控制点来影响曲线的形状。在二次贝塞尔曲线和三次贝塞尔曲线中,可以通过调整...
Apple iOS 加密安全漏洞(CVE-2014-4448)

Apple iOS 加密安全漏洞(CVE-2014-4448)

发布日期:2014-10-20更新日期:2014-10-23受影响系统:Apple iOS 8.1描述:BUGTRAQ ID: 70661CVE(CAN) ID: CVE-2014-4448iOS是由苹果公司为移动设备所开发的操作系统,支持的设备包括iPhone、iPod touch、iPad、Apple TV。文件传输过程仅由硬件UID作为加密密码保护,这种无效的加密保护可造成向设备传输的文件被改写。<*来源:Jonathan Zdziarski ...
<< 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 >>