http://blog.csdn.net/a3070173/archive/2008/11/20/3342062.aspx Dislace Mapping其实就是在顶点着色器中 对顶点进行置换偏移,经常用于水仿真流体绘制. 顶点着色器: uniform float g_fScale; uniform sampler2D g_DisplaceTexture; void main() { float fDisplace = texture2DLod(g_DisplaceTexture, gl_Mul…
转自 http://blog.sina.com.cn/s/blog_78ea87380101ehk3.html 此文实现一个简单的的水面效果,主要是法线贴图, 效果图如下:   此文分为三部分:vertexShader, fragmentShader, main;   vertexShader:   varying vec3 lightdir;           //切线空间灯光向量; varying vec3 eyedir;             //切线空间眼点向量; varying v…
项目的程序里设计需要将某一帧渲染出来的画面拆成三通道单色图像存到三张纹理里面.要绘制到纹理里,自然就想到FBO了.但是一次要输出多张纹理,这个还没接触过.一阵网上搜索过后,终于了解到了MRT(多重渲染目标).但是网上的教程大部分都使用到了Fragment Shader里的一个预置变量:gl_FragData[].但是实际使用当中,glsl却报告说这个gl_FragData变量是不建议使用了.于是再经过多方搜索,知道了建议的操作方法是如何实现的. 首先自然是新建一个FBO,然后绑定缓存.一般的FB…
http://www.sunandblackcat.com/tipFullView.php?topicid=28   This lesson shows how to implement different Parallax Mapping techniques in GLSL and OpenGL (same techniques are used to implement Parallax Mapping in DirectX). Following techniques will be d…
转自 http://blog.sina.com.cn/s/blog_78ea87380101eixi.html 此文实现一个简单地水面倒影效果,通过rtt相机 获取倒影纹理, 水的基本实现方法(参考前一博文:osg通过glsl实现一个平面的水效果(法线贴图)),具体代码如下:   vertex定点着色器: varying vec3 lightdir;           //切线空间灯光向量; varying vec3 eyedir;             //切线空间眼点向量; varyin…
http://blog.sina.com.cn/s/blog_78ea87380101eixi.html 此文实现一个简单地水面倒影效果,通过rtt相机 获取倒影纹理, 水的基本实现方法(参考前一博文:osg通过glsl实现一个平面的水效果(法线贴图)),具体代码如下:   vertex定点着色器: varying vec3 lightdir;           //切线空间灯光向量; varying vec3 eyedir;             //切线空间眼点向量; varying v…
2005 年诺贝尔经济学奖得主托马斯·谢林(Thomas Schelling)在上世纪 70 年代就纽约的人种居住分布得出了著名的 Schelling segregation model,这是一个 ABM(agent-based model),当年谢林只能通过铅笔在纸上进行模拟,而这次则利用 Python 进行仿真实现这个模型. 在计算机科学中,基于 Agent 的模型(agent-based models)被用来评估独立(autonomous)agent(诸如个体.群组或物体)在整个系统中的影…
一.前言 学习是要总结的.近期几天学习了画图相关的,可是使用的机会较少,如今又快要遗忘了,这次看了水波纹的绘制.认为十分有意思,还是 把实现的方法记录下来.技术无他,为手熟尔.还是要多练习,空淡误国,实干兴邦,让我们看看今天的三角函数之美吧. 二.概述 肯定大家对中学学习的三角函数都不陌生吧.只是学习的sin.cos是超越函数一类函数.是初等函数的一种,借用维基百科的一张图:         一个完整的正弦函数应该是这种:>y=Asin(ωx+φ)+h,A决定峰值,ω决定周期.φ表示初相位,h表…
转自:http://blog.csdn.net/lihaoweiv/article/details/6275241 第 13 章  mmap 和 DMA 本章将深入探讨 Linux 内存管理部分,并强调了对设备驱动程序编写者非常有帮助的技术重点.这一章内容属于高级主题,不需要所有人都掌握它,虽然如此,很多任务只能通过更深入地研究内存管理子系统而做到,同时本章也帮助读者了解内核重要组成部分的工作方式. 本章内容分为三节.第一节讲述了 mmap 系统调用的实现,mmap允许直接将设备内存映射到用户进…
转自:http://blog.csdn.net/zhoudengqing/article/details/41654293 版权声明:本文为博主原创文章,未经博主允许不得转载. 这一章介绍Linux内存管理和内存映射的奥秘.同时讲述设备驱动程序是如何使用“直接内存访问”(DMA)的.尽管你可能反对,认为DMA更属于硬件处理而不是软件接口,但我觉得与硬件控制比起来,它与内存管理更相关. 这一章比较高级:大多数驱动程序的作者并不需要太深入到系统内部.不过理解内存如何工作可以帮助你在设计驱动程序时有效…