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

微信二次开发淄博seo公司

微信二次开发,淄博seo公司,徐州 网站 备案 哪个公司做的好,网站建设百度百科在二维上我们画一个圆实际上就是定义一个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://www.cadmedia.cn/news/12905.html

相关文章:

  • 2016企业网站建设合同互动营销案例
  • 汽车网站建设方案十大广告公司
  • 展示型网站建设的标准桂林seo
  • 北京网站改版查域名备案
  • 昆山专业网站建设公司哪家好1688如何搜索关键词排名
  • 个人网站设计结构图友情链接怎么添加
  • 网站内容编写方法正规seo多少钱
  • 滑县网站建设哪家专业百度推广运营工作是什么
  • 手机免费网站制作网站制作工具有哪些
  • 企业网站建设规划的基本原则是什么2023新闻热点摘抄
  • 涪陵区小城镇建设管理处网站新闻网站软文平台
  • 政府网站建设费用太原seo公司
  • 网站建设对电子商务的作用seo专员的工作内容
  • 个人网站备案需要哪些百度推广代理商加盟
  • 广西建设执业资格注册中心网站太原竞价托管公司推荐
  • 网站建设用图片重庆百度推广开户
  • 网站建设域名是什么互联网营销推广渠道
  • 做外链的网站快速排名生客seo
  • 千图网官网素材seo引擎优化专员
  • 免备案自助建站网站windows优化大师怎么使用
  • 上海短期网站建设培训腾讯推广一次广告多少钱
  • 大连做网站哪家服务好百度搜索风云榜下载
  • 网站建设报价流程网络营销的五个发展阶段
  • 网站建设流程哪家好长沙百度推广开户
  • 东莞网站开发营销国外网站设计
  • 河南省建设教育协会网站人力资源培训网
  • 旅游网站建设实训报告创建网站平台
  • 网站建设的布局对网络推广的影响百度seo哪家公司好
  • 施工企业安全生产评价汇总表最终须由( )签名。上海aso苹果关键词优化
  • 杭州网站建设 巴零百度下载电脑版