当前位置: 首页 > wzjs >正文

中小学校园网站建设新一轮疫情最新消息

中小学校园网站建设,新一轮疫情最新消息,制作书签作文,六安新闻网1、顶点着色器代码 #version 110 /* GLSL 1.10需要显式声明精度 (OpenGL ES要求) */ #ifdef GL_ES precision highp float; #endif // 体数据采样步长 uniform float xStepSize,yStepSize,zStepSize; // 体数据纹理和颜色纹理 uniform sampler3D baseTexture; uniform sample…

1、顶点着色器代码

#version 110
/* GLSL 1.10需要显式声明精度 (OpenGL ES要求) */
#ifdef GL_ES
precision highp  float;
#endif
// 体数据采样步长
uniform float xStepSize,yStepSize,zStepSize;
// 体数据纹理和颜色纹理
uniform sampler3D baseTexture;
uniform sampler1D tfTexture;
// 体数据包围盒边界
uniform vec3 minBound,maxBound;
varying vec3 vDirection;//模型空间下的光线方向
varying vec3 vCameraModelPosition;//模型空间下的相机位置
void main(void)
{// 计算裁剪空间的位置gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;vec4 cameraPos = (gl_ModelViewMatrixInverse * vec4(0, 0, 0, 1));vCameraModelPosition = cameraPos.xyz/cameraPos.w;vDirection = gl_Vertex.xyz/gl_Vertex.w- vCameraModelPosition;}

2、片元着色器代码

#version 110
/* GLSL 1.10需要显式声明精度 (OpenGL ES要求) */
#ifdef GL_ES
precision highp  float;
precision highp sampler3D;
precision highp sampler1D;
#endif
#define EPSILON 1e-3// 体数据纹理和颜色纹理
uniform sampler3D baseTexture;
uniform sampler1D tfTexture;uniform int steps;//采样步长,值越大,采样次数越多,效果越小,但性能越差
uniform float densityFactor;//值越大,颜色变化剧烈,细节边界变得锐利,可能出现不平滑的锯齿状过渡;值越小,颜色变化缓慢,叠加的颜色较多,导致整体视觉上更加柔和、模糊,增强了雾气感
// 体数据包围盒边界
uniform vec3 minBound,maxBound;varying vec3 vDirection;//模型空间下的光线方向
varying vec3 vCameraModelPosition;//模型空间下的相机位置const int maxSamples = 256;
vec2 hitBox(vec3 orig, vec3 dir) {vec3 inv_dir = 1.0 / dir;// 光线方向倒数(处理正负方向)vec3 tmin_tmp = (minBound - orig) * inv_dir;// 沿光线方向到达包围盒各轴最小边界的距离vec3 tmax_tmp = (maxBound - orig) * inv_dir; // 沿光线方向到达包围盒各轴最大边界的距离vec3 tmin = min(tmin_tmp, tmax_tmp);// 各轴向的最近交点vec3 tmax = max(tmin_tmp, tmax_tmp);// 各轴向的最远交点float near = max(max(tmin.x, max(tmin.y, tmin.z)),0.0);// 光线最终进入包围盒的距离float far = min(tmax.x, min( tmax.y, tmax.z)); // 光线最终离开包围盒的距离return vec2( near, far );
}void main(void)
{vec3 rayDir = normalize(vDirection);vec2 bounds = hitBox( vCameraModelPosition, rayDir );bounds.x -= 0.000001;if ( bounds.x >= bounds.y) discard;//光线与包围盒无交点。vec3 sampleStart = vCameraModelPosition + bounds.x * rayDir;// 初始化颜色累积vec4 finalColor = vec4(0.0);const float opacityThreshold = 0.99;   // 不透明度阈值float T = 1.0;// 光线步进采样float delta = sqrt(3.0) / float(steps);             // 均匀步长vec3 voxelSizeInv = 1.0 / (maxBound - minBound); for (float t = bounds.x; t < bounds.y; t += delta) {sampleStart = vCameraModelPosition + t * rayDir;vec3 texCoord = (sampleStart - minBound) * voxelSizeInv;float density = texture3D(baseTexture, texCoord).r;vec4 color = texture1D(tfTexture, density);color.rbg = pow(color.rbg, vec3(2.2));//从gamma空间转换到线性空间color *= densityFactor * delta;finalColor += T*color;T*=1.0-color.a;if (T<0.01) break;}// 丢弃完全透明的片元if (finalColor.a < EPSILON) discard;finalColor.rgb = pow(finalColor.rgb, vec3(1.0/2.2));gl_FragColor = finalColor;}

体渲染结果

http://www.dtcms.com/wzjs/35537.html

相关文章:

  • 北京网站建设华网网站seo优化方案策划书
  • 平台建设上线网站数据分析师培训机构推荐
  • 湖南省政府网站建设先进单位站长工具最近查询
  • 南京十大外贸公司服装长沙建站seo公司
  • 表格网站滚动字体怎么做的seo短视频加密路线
  • 一 网站开发体会搜索引擎推广与优化
  • 做pc端网站基本流程什么叫优化
  • 网站数据库查询怎么做百度今日排行榜
  • wordpress开放哪个端口seo优化诊断
  • 做的好的外贸网站app开发费用一般多少钱
  • 用口做love的网站网站seo优化外包顾问
  • 文本文档做网站怎么加图片网络营销的优势有哪些
  • 太原网站建设baidu做seo排名
  • 怎样做淘宝客网站珠海seo推广
  • 如何在服务器建设iis网站seo是什么服务器
  • 阿里巴巴网站如何做固定背景大连网站搜索排名
  • 这么做网站网站推广软件ky99
  • 临沂市网站建设公司商城系统开发
  • 营销网站的功能构成软文写手接单平台
  • asp 网站模板软文之家
  • 建立公司企业网站百度sem运营
  • 怎样访问简版网站百度搜索网页版
  • 北京网站建设付款方式关键词优化排名用哪些软件比较好
  • 华为网站建设和阿里云哪个好网络营销活动案例
  • 杭州 网站开发上海最新政策
  • 郑州网站推广专员色盲测试图数字
  • 台州网站建设外包淘宝客推广平台
  • wordpress获取登录作者seo新手教程
  • 专业做俄语网站建设司沈阳高端关键词优化
  • 外贸做独立网站怎么样信息流广告投放工作内容