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

湖南省公司注册网站赫山区网站建设

湖南省公司注册网站,赫山区网站建设,邯郸建设网站的公司,河南平台网站建设制作实现原理: 基于宏定义和WGSL功能文件实现 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/DynamicShaderBuilding.ts 当前示例运行效果: 此示例基于此渲染系统实现#xff0c;当前示例TypeScript源码如下#x…实现原理: 基于宏定义和WGSL功能文件实现 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/DynamicShaderBuilding.ts 当前示例运行效果: 此示例基于此渲染系统实现当前示例TypeScript源码如下 export class DynamicShaderBuilding {private mRscene new RendererScene();initialize(): void {this.mRscene.initialize({ canvasWith: 1024, canvasHeight: 1024, rpassparam: { multisampleEnabled: true } });this.initScene();this.initEvent();}private hdrEnvtex new SpecularEnvBrnTexture();private createTextures(ns: string): WGTextureDataDescriptor[] {const albedoTex { albedo: { url: static/assets/pbr/${ns}/albedo.jpg } };const normalTex { normal: { url: static/assets/pbr/${ns}/normal.jpg } };const aoTex { ao: { url: static/assets/pbr/${ns}/ao.jpg } };const roughnessTex { roughness: { url: static/assets/pbr/${ns}/roughness.jpg } };const metallicTex { metallic: { url: static/assets/pbr/${ns}/metallic.jpg } };let textures [this.hdrEnvtex,albedoTex,normalTex,aoTex,roughnessTex,metallicTex] as WGTextureDataDescriptor[];return textures;}private initScene(): void {this.initEntities();}private initEntities(): void {let callback (): void {let pos new Vector3(0, 0, 0);let basePos new Vector3(-300, 0, -400);let dis 250;let textures this.createTextures(plastic);let material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(0, 0, 0)).addBy(basePos), textures.slice(0, 0));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis, 0, 0)).addBy(basePos), textures.slice(0, 1));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis * 2, 0, 0)).addBy(basePos), textures.slice(0, 2));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(0, 0, dis)).addBy(basePos), textures.slice(0, 3));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis, 0, dis)).addBy(basePos), textures.slice(0, 4));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis * 2, 0, dis)).addBy(basePos), textures.slice(0, 5));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(0, 0, dis * 2)).addBy(basePos), textures.slice(0, 6));this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis, 0, dis * 2)).addBy(basePos), textures);material.property.glossiness false;this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis * 2, 0, dis * 2)).addBy(basePos), textures);material.property.toneMapping false;this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(0, 0, dis * 3)).addBy(basePos), textures.slice(0, 6));material.property.metallicCorrection false;material.property.glossiness false;this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis, 0, dis * 3)).addBy(basePos), textures.slice(0, 6));material.property.glossiness false;material.property.toneMapping false;this.applyMaterialPPt(material);material this.createModelEntity(monkeySrc, pos.clone().add(new Vector3(dis * 2, 0, dis * 3)).addBy(basePos), textures.slice(0, 6));material.property.glossiness false;material.property.toneMapping false;material.property.metallicCorrection false;this.applyMaterialPPt(material);};let monkeySrc new ModelEntity({callback,modelUrl: static/assets/draco/monkey.drc});}private applyMaterialPPt(material: BasePBRMaterial): void {let property material.property;property.ambient.value [0.0, 0.2, 0.2];property.albedo.value [0.7, 0.7, 0.3];property.arms.roughness 0.8;property.armsBase.value [0, 0, 0];property.uvParam.value [2, 2];property.param.scatterIntensity 32;}private mLightParams: LightShaderDataParam[] [];private createModelEntity(srcEntity: ModelEntity, position: Vector3DataType, textures: WGTextureDataDescriptor[]): BasePBRMaterial {let rc this.mRscene;let lightParam this.createLightData(position);let material new BasePBRMaterial();material.setLightParam(lightParam);material.addTextures(textures);let monkey new ModelEntity({materials: [material],geometry: srcEntity.geometry,transform: { position, scale: [100, 100, 100], rotation: [0, 90, 0] }});rc.addEntity(monkey);return material;}private createLightData(position: Vector3DataType): LightShaderDataParam {let pos new Vector3().setVector4(position);let pv0 pos.clone().addBy(new Vector3(0, 200, 0));let pv1 pos.clone().addBy(new Vector3(200, 0, 0));let pv2 pos.clone().addBy(new Vector3(0, 0, 200));let pv3 pos.clone().addBy(new Vector3(-200, 0, 0));let pv4 pos.clone().addBy(new Vector3(0, 0, -200));let posList [pv0, pv1, pv2, pv3, pv4];let c0 new Color4(0.1 Math.random() * 13, 0.1 Math.random() * 13, 0.0, 0.00002);let c1 new Color4(0.0, 0.1 Math.random() * 13, 1.0, 0.00002);let c2 new Color4(0.0, 0.1 Math.random() * 13, 0.1 Math.random() * 13, 0.00002);let c3 new Color4(0.1 Math.random() * 13, 1.0, 0.1 Math.random() * 13, 0.00002);let c4 new Color4(0.5, 1.0, 0.1 Math.random() * 13, 0.00002);let colorList [c0, c1, c2, c3, c4];let pointLightsTotal posList.length;let j 0;let lightsData new Float32Array(4 * pointLightsTotal);let lightColorsData new Float32Array(4 * pointLightsTotal);for (let i 0; i lightsData.length;) {const pv posList[j];pv.w 0.00002;pv.toArray4(lightsData, i);const c colorList[j];c.toArray4(lightColorsData, i);j;i 4;}let param { lights: lightsData, colors: lightColorsData, pointLightsTotal };this.mLightParams.push(param);return param;}private initEvent(): void {const rc this.mRscene;rc.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseDown);new MouseInteraction().initialize(rc, 0, false).setAutoRunning(true);}private mouseDown (evt: MouseEvent): void { };run(): void {this.mRscene.run();} }
http://www.zqtcl.cn/news/513038/

相关文章:

  • 咸阳网站建设工作室网站建设经
  • 网站怎么做短信接口新浪wordpress
  • 方维o2o 2.9蓝色团购网站程序源码模板做一电影网站怎么赚钱
  • 口碑好网站建设资源新昌网站建设
  • 苏州做网站的公司排名泉州网络推广专员
  • 无为县做互联网网站备案的时候网站建设方案书要吗
  • 修改网站的备案主体dede网站地图不显示文章列表
  • 建立个人网站的成本织梦html5手机网站模板
  • 怎么自己建一个网站吗php网页设计培训
  • 深圳大型论坛网站建设wordpress国内加速
  • 仿站怎么做广告装饰公司名字
  • 黄冈网站推广收费标准wordpress导航页面设置密码
  • 做网站会犯法吗贵州省建设厅城乡建设网站
  • 做网站和做公众号资金盘网站怎么建设
  • 全国最好的网站建设案例推广方法视频
  • 嘉兴网站建设策划方案在海口注册公司需要什么条件
  • 旅游网站国际业务怎样做建设企业官方网站企业登录
  • 北京市昌平网站建设小米网络营销案例分析
  • 怎么利用360域名做网站微信商城怎么弄
  • 中山h5网站建设天津网站建设技术托管
  • 建网站买的是什么商城网站建设合同
  • 购物网站制作样例有没有专门学做婴儿衣服的网站
  • 济南网站建设 找小七买友情链接有用吗
  • 南阳网站建设域名公司泉州关键词排名seo
  • 网站建设在线推广宁夏快速自助制作网站
  • 专业网站建设好不好wordpress编辑文章更新失败
  • 河南郑州网站建设哪家公司好html5 网站正在建设中
  • 免费ppt模板下载医学类江门seo网站推广
  • 智慧软文网站群辉wordpress地址
  • 自己怎么做拼单网站外贸网站 源码