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

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

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 ...
OpenGL超级宝典学习笔记——显示列表

OpenGL超级宝典学习笔记——显示列表

前言在先前的章节中,我们已经讨论OpenGL基本的一些渲染技术。这些基本的技巧足够渲染简单的图像,然而在渲染精细的画面逼真的画面的时候(非常多的顶点和纹理),如果使用之前的方式渲染(立即模式)速度就很慢了,考虑到性能的原因(特别是实时渲染)我们需要以更快的方式完成画面的渲染。精细的画面有大量的数据需要CPU和GPU去处理,而且把数据从应用程序发送到显卡有带宽和显存的瓶颈。显示列表到目前为止,我们的图元都是在一对glBegin/glEnd之间调用glVert...
OpenGL超级宝典学习笔记——顶点数组

OpenGL超级宝典学习笔记——顶点数组

顶点数组当我们有来自模型的大量数据的时候,使用显示列表来对这些数据进行预编译,需要遍历这些顶点数据(一次一个顶点数据)把数据传给OpenGL。依赖于顶点的数量,这会带来潜在的性能损耗。而且这些数据不一定是静态的,有可能在我们每次渲染的时候,我们需要对这些数据进行更改。这个时候就不适合使用显示列表。在OpenGl中,使用顶点数组能够很好的解决这两个问题。使用顶点数组,我们可以随时进行预编译或修改几何图形,然后一次性传输这些数据。基本的顶点数组几乎和显示列表一...
OpenGL超级宝典学习笔记——生成轮廓

OpenGL超级宝典学习笔记——生成轮廓

有时我们不需要物体的许多细节,而只需要其外围的轮廓来描绘物体大概的形状比如物体的阴影。如果我们简单的使用线框模式绘制一个立方体如下:下面介绍OpenGL生成轮廓的两种方式。多边形偏移多边形偏移是一个挺有用的技巧,有时会用来解决z-fighting。z-fighting在开启深度测试时,如果两个重叠物体的深度值非常接近,那么就有可能会产生z-fighting(因为在绘制物体时采用插值的方式,而插值会有一定的误差)。如下图遇到这种情况,我们就可以使用多变形偏移...
OpenGL超级宝典学习笔记——性能比较

OpenGL超级宝典学习笔记——性能比较

本文通过包含许多顶点数据的复杂模型来比较使用glBegin()/glEnd立即模式,显示列表,以及顶点索引数组的性能与内存。F-16 Thunderbird的飞机模型有3704个独立的三角形,通过Deep Exporation工具的索引模式编制后,共有1898个独立的顶点,2716个法线,2925个纹理坐标。下面代码展示DrawBody函数,通过遍历索引来为每一个独立的三角形设置并发送纹理,法线和顶点坐标。void DrawBody(void){int i...
OpenGL超级宝典学习笔记——顶点缓冲区对象

OpenGL超级宝典学习笔记——顶点缓冲区对象

显示列表可以快速简单地优化立即模式(glBegin/glEnd)的代码。在最坏的情况下,显示列表的命令被预编译存到命令缓冲区中,然后发送给图形硬件。在最好的情况下,是编译后放在图形硬件中以减少传输的带宽。显示列表的优化根据实现的不同而有所不同,而且显示列表一旦被创建就不可以修改,灵活性差。顶点数组提供了我们想要的灵活性,最坏的结果不过是把数据块复制给硬件而已(比立即模式快的多)。而索引顶点数组可以减少向硬件传输的顶点数据的数量,减少变换的开销。OpenGL...
Joomla Akeeba Kickstart反序列化远程代码执行漏洞

Joomla Akeeba Kickstart反序列化远程代码执行漏洞

发布日期:2014-08-24更新日期:2014-10-24受影响系统:Joomla! Akeeba描述:CVE(CAN) ID: CVE-2014-7228Joomla Akeeba是负责Joomla!更新的组件。Joomla! 2.5.25之前版本、3.2.5及之前版本、3.3.0至3.3.4版本在实现上存在安全漏洞,此漏洞仅可在Joomla! CMS更新时利用。成功利用后导致远程代码执行。<*来源:vendor*>建议:厂商补丁:Joom...
OpenGL超级宝典学习笔记——选择

OpenGL超级宝典学习笔记——选择

有时我们不仅仅是渲染场景,而且还要与渲染的场景进行交互。大多数情况下是使用鼠标进行交互。注:viewing volume(可视区域,视景体)选择OpenGL的选择模式允许你通过鼠标点击屏幕,来选择鼠标下面的物体。使用OpenGL的选择特性,当你点击屏幕时就指定了一个可视区域,决定了哪些物体在这个可视区域中。基于你的屏幕坐标和你指定的像素大小,glu库提供了一个有用的函数gluPickMatrix来产生一个矩阵,使用这个矩阵可以在你当前鼠标的位置产生更小的可...
HP Data Protector EXEC_INTEGUTIL远程代码执行漏洞

HP Data Protector EXEC_INTEGUTIL远程代码执行漏洞

发布日期:2014-10-21更新日期:2014-10-24受影响系统:HP Data Protector 9描述:HP OpenView Storage Data Protector软件是企业环境中单个服务器自动备份和恢复的软件,支持磁盘存储或磁带存储目标。HP Data Protector 9在处理EXEC_INTEGUTIL消息时会触发Backup client服务内的漏洞,该服务默认监听在TCP/555上,成功利用此漏洞后可利用EXEC_INTEG...
OpenGL超级宝典学习笔记——反馈

OpenGL超级宝典学习笔记——反馈

反馈像选择一样也是一种渲染模式,不会往帧缓冲区中写数据,而是把信息填充到反馈缓冲区中。与选择模式返回名称栈不同,反馈的这些信息包括窗口坐标中经过变换的顶点数据,经过光照计算后的颜色数据,以及纹理数据和其他在光栅化图元中需要使用的数据。通过调用glRenderMode(GL_FEEDBACK)进入反馈模式,调用glRenderMode(GL_RENDER)填充反馈缓冲区,并返回正常渲染模式。反馈缓冲区反馈缓冲区是浮点数数组,通过glFeedbackBuffe...
OpenGL超级宝典学习笔记——遮挡查询

OpenGL超级宝典学习笔记——遮挡查询

在一个场景中,如果有有些物体被其他物体遮住了不可见。那么我们就不需要绘制它。在复杂的场景中,这可以减少大量的顶点和像素的处理,大幅度的提高帧率。遮挡查询就是允许我们判断一组图形在进行了深度测试之后是否可见。遮挡查询之前为了显示遮挡查询对性能的提升,我们需要一个对照组(不使用遮挡查询来渲染场景)。首先我们先绘制“主遮挡物”。这个主遮挡物不需要太多的细节,一般是墙,天花板,地板之类的物体。在下面的例子中我们,使用6面墙来组成这个主遮挡物...
<< 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 >>