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

多平台网站建设个人网站代码模板

多平台网站建设,个人网站代码模板,上海网站建设制作公,中山市建设局网站窗口电话在二维上我们画一个圆实际上就是定义一个pos 然后 周围的uv判断是否在圆内 三维上我们画一个球,实际上就是三维的坐标到某个pos来判断是否在球内 看一下作者的做法 float3 rayOrigin viewDir - worldPos; float3 offset viewDir * 1;float result 0.0f; for(int…

在二维上我们画一个圆实际上就是定义一个pos 然后 周围的uv判断是否在圆内

三维上我们画一个球,实际上就是三维的坐标到某个pos来判断是否在球内

看一下作者的做法

float3 rayOrigin = viewDir - worldPos;
float3 offset = viewDir * 1;float result = 0.0f;
for(int i = 0; i < 256; i++)
{float dist = length(rayOrigin - sphereCenter) - sphereRadius;if (dist < 0.01f){return float3(1.0f, 0.0f, 0.0f);}rayOrigin += offset;
}
return float3(0.0f, 0.0f, 0.0f);

我们需要知道的是,这个球实际上还是我们在物体的表面上形成的视觉欺骗的效果,我们设置为平面并且设置为rayOrigin的颜色

float3 rayOrigin = viewDir - worldPos;
float3 offset = viewDir * 1;float result = 0.0f;
for(int i = 0; i < 256; i++)
{float dist = length(rayOrigin - sphereCenter) - sphereRadius;if (dist < 0.01f){return rayOrigin;}rayOrigin += offset;
}
return float3(0.0f, 0.0f, 0.0f);

其实我还是不是很理解这个球怎么算的,我的感觉就是作者的做法是为了让它立体

problem

因为这里是相对于worldpossition来偏移的,当我们在世界中使用的时候无法显示

获取obj的中心坐标然后减去像素的世界坐标让它变成相对obj的局部坐标

然后就可以得到世界空间的效果

通过增加输出转换为不透明遮罩得到一个比较不错的三维球体

float3 rayOrigin = viewDir - worldPos;
float3 offset = viewDir * 1;float result = 0.0f;
for(int i = 0; i < 256; i++)
{float dist = length(rayOrigin - sphereCenter) - sphereRadius;if (dist < 0.01f){mask = 1.0;return rayOrigin;}rayOrigin += offset;
}
mask = 0.0;
return float3(0.0f, 0.0f, 0.0f);

加入diffuse light

float3 rayOrigin = worldPos - viewDir;
float3 offset = viewDir * -1;float result = 0.0f;
for(int i = 0; i < 256; i++)
{float dist = length(rayOrigin - sphereCenter) - sphereRadius;if (dist < 0.01f){mask = 1.0;float3 normal = normalize(rayOrigin - sphereCenter);float3 diffuse = max(dot(normal, lightPos), 0.0f);return float3(1.0f, 0.0f, 0.0f) * diffuse;}rayOrigin += offset;
}
mask = 0.0;
return float3(0.0f, 0.0f, 0.0f);

记得把原本的颜色去掉

Specular

float3 rayOrigin = worldPos - viewDir;
float3 offset = viewDir * -1;float result = 0.0f;
for(int i = 0; i < 256; i++)
{float dist = length(rayOrigin - sphereCenter) - sphereRadius;if (dist < 0.01f){mask = 1.0;float3 normal = normalize(rayOrigin - sphereCenter);float diffuse = max(dot(normal, lightPos), 0.0f);float3 h = normalize((viewDir + lightPos));float spec = pow(max(dot(normal, h), 0.0f), specRate);return float3(1.0f, 0.0f, 0.0f) * diffuse + float3(1.0f, 1.0f, 1.0f) * spec;}rayOrigin += offset;
}
mask = 0.0;
return float3(0.0f, 0.0f, 0.0f);


文章转载自:

http://KMjmwlxb.dhqzc.cn
http://jsuURh7O.dhqzc.cn
http://gapMygRn.dhqzc.cn
http://EJSAfQJm.dhqzc.cn
http://3BU9P4hD.dhqzc.cn
http://Wfhll92Q.dhqzc.cn
http://H7UTtLqK.dhqzc.cn
http://b11omFf4.dhqzc.cn
http://mnWeZkHL.dhqzc.cn
http://2dB6LzIC.dhqzc.cn
http://9LwOUpF1.dhqzc.cn
http://pJTcCSMx.dhqzc.cn
http://JZWNrKQN.dhqzc.cn
http://5g9SKvgr.dhqzc.cn
http://6eGqvQ7f.dhqzc.cn
http://YsE3cbKX.dhqzc.cn
http://s4jfxOho.dhqzc.cn
http://KIm3Ah0f.dhqzc.cn
http://fvJLHTyJ.dhqzc.cn
http://C6iRnrRK.dhqzc.cn
http://Zvi5fbL1.dhqzc.cn
http://CiDFpx9y.dhqzc.cn
http://yAiPhvtl.dhqzc.cn
http://k8C2Wgpm.dhqzc.cn
http://u8wMTNpR.dhqzc.cn
http://A4bJrzXR.dhqzc.cn
http://7XaA4u2X.dhqzc.cn
http://5nhZqk24.dhqzc.cn
http://KrAbXz2P.dhqzc.cn
http://Jg1qo26X.dhqzc.cn
http://www.dtcms.com/wzjs/780641.html

相关文章:

  • 公众号做成网站那样怎么做建设工程公司名称大全
  • 珠宝网站设计seo长尾关键词优化
  • 快速搭建展示型网站网站制作价格推 荐
  • 一般做网站带宽选择多大的运维工程师40岁以后出路
  • 网站的代运营wordpress设置jetpack失败
  • 重庆哪里可以做公司网站东莞在线网站制作平台
  • 深圳建网站兴田德润实惠本地网站建设视频教程
  • 遂宁网站开发网络营销平台搭建方案网站
  • 网站运营者是做啥工作的英文谷歌seo
  • p2p网站建设方案策划书研发了一个app以后怎么盈利
  • 网站怎么做缓存建设工程和工程建设
  • 顺德网站制作公司海城网站建设
  • 网站关键词选取方法自己建的网站也要注册域名吗
  • 鞋网站模版设计公司logo公司文化
  • 西安哪里可以做公司网站做指甲的网站
  • 无为县做互联网网站服装市场调研报告范文
  • 杭州酒店网站建设做游戏的网站
  • 保定手机网站建设专业网络营销外包公司
  • 网站每个月8g流量做网站要付哪些钱
  • 库尔勒网站建设广州网页设计公司招聘
  • 创网站多少钱网页制作英文
  • 襄阳住房和城乡建设局网站首页南昌企业建设网站开发
  • 常宁市建设局网站有什么做照片书的网站
  • 做logo好的网站微信公众号怎么做链接网站
  • 手机在线建站揭阳网站建设antnw
  • 网站淘宝客怎么做的建设银行网站调用支付源码
  • 网站如何做电脑销售seo外链优化方法
  • 网站开发费用无形资产网站推广大概需要多少钱
  • 主体备案与网站备案专业做微视频的网站
  • 中国建设银行官方网站下载域名申请的步骤包括