首页 > 其他分享 >threejs的坐标渲染和着色

threejs的坐标渲染和着色

时间:2023-11-10 17:45:18浏览次数:32  
标签:threejs 1.0 几何图形 渲染 THREE 着色 new 顶点 const

点击查看代码
function createBasic() {
  // 目标:了解顶点坐标绘制正方形
  // 1. 准备 BufferGemotry 缓冲几何图形
  // 2. 准备 32 位浮点数的数组,定义矩形的顶点位置
  // 3. 准备 BufferAttribute 属性缓冲对象,保存几何图形的属性值
  // 4. 把属性设置给几何图形对象
  // 5. 准备材质创建物体并加入场景中

  // 1. 准备 BufferGemotry 缓冲几何图形(灵活表示图形)
  const geometry = new THREE.BufferGeometry();
  // 创建一个简单的矩形. 在这里我们左上和右下顶点被复制了两次。
  // 因为在两个三角面片里,这两个顶点都需要被用到。
  // 注意:three.js 内部需要计算坐标值
  // 顶点坐标(逆时针描述-正面渲染)
  // 2. 准备 32 位浮点数的数组,定义矩形的顶点位置
  const vertices = new Float32Array([
    0, 0, 0,
    1.0, 0, 0,
    0, 1.0, 0,

    1.0, 0, 0,
    1.0, 1.0, 0,
    0, 1.0, 0
  ]);

  // 3. 准备 BufferAttribute 属性缓冲对象,保存几何图形的属性值
  // itemSize = 3 因为每个顶点都是一个三元组
  // position 顶点坐标
  // 4. 把属性设置给几何图形对象
  geometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));

  // 5. 准备材质创建物体并加入场景中
  const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
  const mesh = new THREE.Mesh(geometry, material);
  scene.add(mesh)
}

标签:threejs,1.0,几何图形,渲染,THREE,着色,new,顶点,const
From: https://www.cnblogs.com/zsnhweb/p/17824654.html

相关文章

  • 前端开发进阶:前端开发中如何高效渲染大数据量?
    在日常工作中,有时会遇到一次性往页面中插入大量数据的场景,在数栈的离线开发(以下简称离线)产品中,就有类似的场景。本文将通过分享一个实际场景中的前端开发思路,介绍当遇到大量数据时,如何实现高效的数据渲染,以达到提升页面性能和用户体验的目的。渲染大数据量时遇到的问题在离线的数据......
  • 解决shiny 中DT无法渲染sparkline样式
    library(shiny)library(DT)library(sparkline)library(tidyverse)data(iris)library(htmlwidgets)cb<-htmlwidgets::JS('function(){debugger;HTMLWidgets.staticRender();}')ui<-fluidPage(htmlwidgets::getDependency('sparkline�......
  • MathJax渲染Latex语法基本使用
    用Markdown写博客的时候,有时需要用到Latex来写数学公式,通过使用MathJax,我们可以让Markdown解析Latex数学表达式,同时Next主题也支持MathJax,所以了解一下Latex语法是十分有必要的。基础语法公式标记MathJax支持行内公式(inline)和陈列公式(displayed)。inline表示公式嵌入到文本段中,d......
  • 从FrameDebugger看Unity渲染
    Unity如何渲染一个3D+2D的游戏画面,今天通过FrameDebugger来看下Unity内置渲染管线的渲染策略,后续再出一些URP渲染管线相关的文章。 Unity渲染场景的几个主要部分 Unity内置渲染管线是基于摄像机来进行渲染的,每个摄像机按照摄像机的渲染顺序来依次渲染,渲染完一个摄像机,再......
  • Eastwind Blogger Callout 渲染展示
    在EastwindBlogger的更新记录一文中我记录道:在v2.3.0版本引入了对Obsidian特殊的Callout语法的兼容,并且支持所有Obsidian内置的callout样式。这里稍作展示,完整信息请参阅Obsidian支持文档Callouts-ObsidianHelp。如果您对EastwindBlogger感兴趣,不妨看看这......
  • React前后端如何同构,防止重复渲染
    什么叫前后端同构?为了解决某些问题(比如SEO、提升渲染速度等)react提供了2个方法在服务端生成一个HTML文本格式的字符串。在得到了这个HTML格式的字符串之后,通常会将其组装成一个页面直接返回给用户的浏览器。到这里,服务端的活已经干完了,然后就是浏览器这边干活。浏览器拿到HTML......
  • vue-test -----ListDemo 列表渲染
    <template><h3>数组</h3><button@click="addnums">添加数据</button><pv-for="(item,index)innums":key="index">{{item}}</p></template><script>exportdefault{name:......
  • #yyds干货盘点#React-初始化渲染
    1.环境准备初始化项目:npxcreate-react-appsimple-react删除一些代码,最关键的内容就是:src/index.jspublic/index.htmlpackage.json中的dependencies和scripts:2.JSX介绍JSX是JavaScript的一种语法扩展。JSX到普通Javascript的代码的转化是通过babel完成的。3.React.createElement编......
  • iOS渲染卡死应该如何解决
    1)iOS渲染卡死应该如何解决2)C#传给C++的Byte数组如何释放3)EAssetBundle.Unload(true)触发长时间卡顿的原因这是第358篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.uwa4d.comUWAQQ群:46......
  • OpenGL 着色器详解
    1.GLSL语言glsl语言是用来编写着色器的,通过一段一段包含main函数的程序片段,告诉渲染引擎怎么去渲染内容。glsl语言的语法有点类似c语言风格,只是增加了一些特有的关键字来修饰变量,下面是一个着色器基本的程序结构:首先声明的是GLSL的版本号和模式,然后就是声明变量。像其他语言......