apply_force.cg

来自「游戏编程精粹6第中关于粒子的实时流体仿真系统,对入门的游戏开发者很有帮助.」· CG 代码 · 共 20 行

CG
20
字号
#include "sph.cg"

void main(float index : TEXCOORD0,
		  uniform samplerRECT attr_rect : TEXUNIT0,
		  uniform float timestep,
		  out float3 result : COLOR)
{
	float3 vel = f3texRECT(attr_rect, float2(index,  GPU_ATTR_VELHALF));
	float3 acc = f3texRECT(attr_rect, float2(index, GPU_ATTR_ACC));
	//float3 exacc = f3texRECT(attr_rect, float2(index, GPU_ATTR_EXACC));
	float3 gravity = float3(0.0, 0.0, -9.8);
	//float3 gravity = float3(0.0, 0.0, -4.9);

	float3 final_acc = (acc  + gravity - 1.1f*vel);
	//float3 mid_acc = 0.5*(final_acc + f3texRECT(attr_rect, float2(index, GPU_ATTR_PUSHACC)));

	result = vel + timestep*final_acc;//(acc + gravity - 1.1f*vel);
//	result = vel + timestep*(acc + gravity - 1.1f*vel);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?