GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】

http://blog.csdn.net/a3070173/archive/2008/11/20/3342062.aspx

  1. Dislace Mapping其实就是在顶点着色器中
  2. 对顶点进行置换偏移,经常用于水仿真流体绘制.
  3. 顶点着色器:
  4. uniform float g_fScale;
  5. uniform sampler2D g_DisplaceTexture;
  6. void main()
  7. {
  8. float fDisplace = texture2DLod(g_DisplaceTexture, gl_MultiTexCoord0.st, 0.0).r;
  9. vec4 vec4NewVertex = vec4(gl_Vertex.x, gl_Vertex.y + g_fScale*fDisplace, gl_Vertex.zw);
  10. gl_TexCoord[0] = gl_MultiTexCoord0;
  11. gl_Position = gl_ModelViewProjectionMatrix*vec4NewVertex;
  12. }
  13. 片元着色器:
  14. uniform sampler2D g_DecalTexture;
  15. void main()
  16. {
  17. gl_FragColor = texture2D(g_DecalTexture, gl_TexCoord[0].st);
  18. }
  19. Demo效果截图:
  20. exe文件:http://www.fileupyours.com/view/219112/GLSL/Simple%20Displace%20Mapping.rar
  21. VC9运行库:http://www.fileupyours.com/view/219112/GLSL/VC9%26%2336816%3B%26%2334892%3B%26%2326102%3B%26%2324211%3B.rar

GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】

时间: 2024-10-08 01:12:19

GLSL实现Simple Displace Mapping 水仿真流体绘制 【转】的相关文章

HDU1339_A Simple Task【水题】

A Simple Task Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3987    Accepted Submission(s): 2181 Problem Description Given a positive integer n and the odd integer o and the nonnegative integ

三角函数之美-水波纹加载LoadingView

一.前言 学习是要总结的,最近几天学习了绘图相关的,但是使用的机会较少,现在又快要遗忘了,这次看了水波纹的绘制,觉得十分有意思,还是 把实现的方法记录下来.技术无他,为手熟尔,还是要多练习,空淡误国,实干兴邦,让我们看看今天的三角函数之美吧. 二.概述 肯定大家对中学学习的三角函数都不陌生吧,不过学习的sin.cos是超越函数一类函数,是初等函数的一种,借用维基百科的一张图: 一个完整的正弦函数应该是这样的:>y=Asin(ωx+φ)+h,A决定峰值,ω决定周期,φ表示初相位,h表示y轴的位置.

dapper-dot-net/Dapper NET40/SqlMapper.cs

/* License: http://www.apache.org/licenses/LICENSE-2.0 Home page: http://code.google.com/p/dapper-dot-net/ Note: to build on C# 3.0 + .NET 3.5, include the CSHARP30 compiler symbol (and yes, I know the difference between language and runtime versions

unity3d中的菜单翻译

Edit 编辑frame selected 选取线框select all 选取所有special characters 角色专题load selection 加载选择save selection 保存选择project settings 项目设置render settings 渲染设置graphics emulation 图形模拟network emulation 网络模拟 Assets 资产 import settings 导入设置reimport 重新导入 creater 创建r in fi

可执行程序加载到内存的过程

http://blog.csdn.net/q_l_s/article/details/52594252 在linux中,程序的加载,涉及到两个工具,linker 和loader.Linker主要涉及动态链接库的使用,loader主要涉及软件的加载. 1.  exec执行一个程序 2.  elf为现在非常流行的可执行文件的格式,它为程序运行划分了两个段,一个段是可以执行的代码段,它是只读,可执行:另一个段是数据段,它是可读写,不能执行. 3.  loader会启动,通过mmap系统调用,将代码端和

maven plugin介绍

http://maven.apache.org/guides/mini/guide-configuring-plugins.html Guide to Configuring Plug-ins Generic Configuration Help Goal Configuring Parameters Mapping Simple Objects Mapping Complex Objects Mapping Collections Mapping Lists Mapping Maps Mapp

NetCore开源项目集合

具体见:https://github.com/thangchung/awesome-dotnet-core 半年前看到的,今天又看到了,记录下. General ASP.NET Core Documentation - The official ASP.NET Core documentation site. .NET Core Documentation - Home of the technical documentation for .NET Core, C#, F# and Visual

转:《Linux设备驱动程序3》源码目录结构和源码分析经典链接

转自:http://blog.csdn.net/geng823/article/details/37567557 [原创][专栏]<Linux设备驱动程序>--- LDD3源码目录结构和源码分析经典链接 [专栏]Linux设备驱动程序学习(总目录) [专栏]LDD3源码分析链接(总目录) 1. LDD3源码分析之hello.c与Makefile模板 2. LDD3源码分析之字符设备驱动程序 其他错误: 我的Linux内核为 3.2.0-65-generic-pae,在scull目录下make时

[leetcode] 树(Ⅰ)

均为 Simple 难度的水题. 二叉树的中序遍历 题目[94]:给定一个二叉树,返回它的中序 遍历. 解题思路:Too simple. class Solution { public: vector<int> inorderTraversal(TreeNode *root) { return inorderNonRec(root); vector<int> v; innerTraversal(root, v); return v; } void innerTraversal(Tr