webgl实现粉色沙丘沙漠三维地貌效果代码

代码语言:html

所属分类:三维

代码描述:webgl实现粉色沙丘沙漠三维地貌效果代码

代码标签: webgl 粉色 沙丘 沙漠 三维 地貌

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">
 

 
 
 
<style>
body
{
 
background: #333;
 
color: #fff;
 
font-family: sans-serif;
}
body
,
html
{
 
margin: 0;
 
overflow: hidden;
 
padding: 0;
}
canvas
{ width:100%; height: 100%; }
</style>


 
 
</head>

<body translate="no">
 
<script type="text/fragment" id="fragShader">#version 300 es
  precision highp float;
 
  uniform vec2 u_resolution;
  uniform float u_time;
  uniform vec2 u_mouse;
  uniform sampler2D s_noise;
  uniform vec3 u_cp;
 
  in vec2 v_uv;
  out vec4 c;
 
  /* Shading constants */
  /* --------------------- */
  const vec3 LP = vec3(-0.6, 0.7, -0.3);  // light position
  const vec3 LC = vec3(.85,0.80,0.70);    // light colour
  const vec3 HC1 = vec3(.5, .4, .3);      // hemisphere light colour 1
  const vec3 HC2 = vec3(0.1,.1,.6)*.5;    // hemisphere light colour 2
  const vec3 HLD = vec3(0,1,0)*.5+.5;     // hemisphere light direction
  const vec3 BC = vec3(0.25,0.25,0.25);   // back light colour
  const vec3 FC = vec3(1.30,1.20,1.00);   // fresnel colour
  const float AS = .5;                     // ambient light strength
  const float DS = 1.;                     // diffuse light strength
  const float BS = .3;                     // back light strength
  const float FS = .3;                     // fresnel strength
  /* Raymarching constants */
  /* --------------------- */
  const float MAX_TRACE_DISTANCE = 10.;             // max trace distance
  const float INTERSECTION_PRECISION = 0.001;       // precision of the intersection
  const int NUM_OF_TRACE_STEPS = 256;               // max number of trace steps
  const float STEP_MULTIPLIER = .9;                 // the step mutliplier - ie, how much further .........完整代码请登录后点击上方下载按钮下载查看

网友评论0