首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Three.js基础】创建场景、渲染场景、创建轨道控制器

),通常是使用画布的宽/画布的高,默认值是1(正方形画布)近截面(near plane):摄像机的近端面,默认值是0.1,其有效值范围是0到当前摄像机far plane(远端面)的值之间。...(1)初始化渲染器这里使用的是WebGL1Renderer,该版本的渲染器会强制使用 WebGL 1 渲染上下文。注意:自r118起,WebGLRenderer会自动使用 WebGL 2 渲染上下文。...const renderer = new THREE.WebGL1Renderer()console.log(renderer)//renderer中有一个canvas对象,就是我们看到的画布内容(2)...设置渲染的尺寸大小renderer.setSize(window.innerWidth ,window.innerHeight)(3)将webgl渲染的canvas内容添加到bodydocument.body.appendChild...(renderer.domElement)(4)使用渲染器通过相机将场景渲染进来创建一个使渲染器能够在每次屏幕刷新时对场景进行绘制的循环。

44040

.NET Core使用NPOI将Excel中的数据批量导入到MySQL

前言:   在之前的几篇博客中写过.NET Core使用NPOI导出Word和Excel的文章,今天把同样我们日常开发中比较常用的使用Excel导入数据到MySQL数据库中的文章给安排上。...因为2.5.1还有些属性与之前的2.4.1不是很兼容,因此我们这里还是继续使用2.4.1,功能上能够完全能够满足我们的需求)。...二、ASP.NET Core使用EF Core连接MySQL执行简单的CRUD操作:   因为该篇文章会涉及到MySQL数据库的操作,所以前提我们需要有一点的CRUD的基础。...所以我们在使用NPOI导入数据时不同格式获取Excel工作簿对象也有所不同,如下代码所示: //Workbook对象代表一个工作簿,首先定义一个Excel工作薄...: https://www.cnblogs.com/Can-daydayup/p/11588531.html .NET Core使用NPOI将Excel中的数据批量导入到MySQL: https

4.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Threejs入门之三:让物体跟随鼠标动起来

    中要想让我们的物探动起来,我们需要引入一个轨道控制器(OrbitControls),它可以使得相机围绕目标进行轨道运动,下面我们来实现下 1.导入轨道控制器OrbitControls OrbitControls.../three.js/examples/jsm/" } } 2.在index.js中使用导入OrbitControls// 引入轨道控制器扩展库OrbitControls.jsimport...)// 将物体添加到场景中,相当于将物体添加到画布汇总scene.add(mesh)// console.log(mesh);// 创建一个相机,相机相当于画家的眼睛,// PerspectiveCamera...(mesh.position)// 创建webgl渲染器const renderer = new THREE.WebGLRenderer()// canvas画布宽高renderer.setSize(width...,height)// 执行渲染操作,将scene和camera关联起来,// 相当于太阳,你有一个空间scene,空间中有物体,有人的眼睛camera,但是没有光是看不到物体的renderer.render

    3.4K30

    台积电已启动2nm试产前置作业,将导入英伟达DGX H100系统使用cuLitho加速

    6月5日消息,据业内消息,晶圆代工大厂台积电近期已经启动了2nm试产的前置作业,将搭配导入最先进AI系统来实现节能减碳,并加速试产效率,预计苹果、英伟达(NVIDIA)等大厂都将会是台积电2nm量产后的首批客户...消息人士透露,台积电为应对2nm试产前置作业,内部也开始调度工程师人力到竹科研发厂区做准备,预计召集千人以上的研发部队,初期会先在竹科建立小量试产生产线,目标今年试产近千片,试产顺利后,将导入后续建设完成的竹科宝山...台积电此前已公布了2nm家族制程蓝图规划,将包括2025年量产的N2,主要为高性能计算(HPC)产品量身打造背面供电设计,将在2025下半年推出;另外,2奈米家族的N2P和N2X预计将在2026年推出。...供应链透露,台积电在客户们的迫切需求推动之下,2nm多项前期作业已展开,最关键是光刻计算方面,一改过去依赖于CPU的方式,将导入以英伟达的DGX H100的AI系统进行协助,大幅提升运算效率,并同步提升光罩产量...据介绍,台积电可通过在500个DGX H100系统上使用cuLitho加速,将功率从35MW降至5MW,替代此前用于计算光刻的40000台CPU服务器。

    19120

    Spark读写HBase之使用Spark自带的API以及使用Bulk Load将大量数据导入HBase

    大部分代码都一样,需要注意的是新版API使用中Job类,旧版API使用JobConf类,另外导包的时候新版的相关jar包在org.apache.hadoop.mapreduce下,而旧版的相关jar包在...写数据的优化:Bulk Load 以上写数据的过程将数据一条条插入到Hbase中,这种方式运行慢且在导入的过程的占用Region资源导致效率低下,所以很不适合一次性导入大量数据,解决办法就是使用 Bulk...Bulk Load 的实现原理是通过一个 MapReduce Job 来实现的,通过 Job 直接生成一个 HBase 的内部 HFile 格式文件,用来形成一个特殊的 HBase 数据表,然后直接将数据文件加载到运行的集群中...与使用HBase API相比,使用Bulkload导入数据占用更少的CPU和网络资源。 接下来介绍在spark中如何使用 Bulk Load 方式批量导入数据到 HBase 中。...参考文章: Spark读取Hbase中的数据 使用Spark读取HBase中的数据 在Spark上通过BulkLoad快速将海量数据导入到Hbase Spark doBulkLoad数据进入hbase

    3.3K20

    TensorFlow小程序探索实践

    、简笔画识别的模型,需要自己训练 2)训练的时候还需记录物体轮廓位置信息 3、识别画布绘画 使用的是tensorflow 的 layerModel格式的模型 有H5版的手绘图片识别:https://medium.com...解决方案 因此此模型比较适用于画布的原始绘画api来画简笔画,再通过获取画布像素数据来做模型识别的传参比较合适,所以实现了此手绘图片识别的小程序版,如下 图片 其实此种方式直接在画布交互反而比摄像头找纸笔绘画的交互好得多...tfjs-layers: LayersModel 创建,导入和执行包 tfjs-backend-webgl: webgl 后端 tfjs-backend-cpu: cpu 后端 tfjs-data:数据流...如果小程序只需要导入和运行GraphModel模型的的话,建议至少加入tfjs-core, tfjs-converter, tfjs-backend-webgl 和tfjs-backend-cpu包。...这样可以尽量减少导入包的大小。 如果需要创建,导入或训练LayersModel模型,需要再加入 tfjs-layers包。

    2.1K80

    基于 Threejs 的 web 3D 开发入门

    web前端开发人员可以直接用WebGL接口进行编程,但WebGL只是非常基础的绘图API,需要编程人员有很多的数学知识、绘图知识才能完成3D编程任务,而且代码量巨大。...位置 为了方便描述位置,引入了坐标系,Threejs使用的是右手坐标系,如下图所示。坐标系的原点位于渲染画布的几何中心。我们对物体的位置的描述,也是指物体的几何中心的位置。...大部分场景都适合使用透视投影相机,因为跟真实世界的观测效果一样;在制图、建模等场景适合使用正交投影相机,方便观察模型之间的大小比例。...如果默认提供的形状不能满足需求,也可以自定义,通过定义顶点和顶点之间的连线绘制自定义几何形状,更复杂的模型还可以用建模软件建模后导入。 计算机是如何绘制几何形状的呢?...外部模型 现实世界丰富多彩,不是Threejs的几种默认几何形状和材质所能表达的,实际运用中,很多时候需要用到外部模型,通过3D建模软件构建物体的三维模型并导出模型文件,Threejs导入模型文件进行使用

    15.4K43

    Phaser 桌面和手机游戏HTML5框架

    例如,我们通过实例化Phaser.Game类来启动框架: var game = new Phaser.Game() 框架将在文档中,使用默认参数创建一个800x600像素大小的Canvas元素,作为 游戏的画布...: 让框架自动选择渲染器 Phaser.CANVAS:使用Pixi的Canvas渲染器 Phaser.WEBGL:使用Pixi的WebGL渲染器 Phaser.WEBGL_MULTI:使用Pixi的WebGL...使用Pixi的Canvas渲染器,但不把canvas元素 添加到DOM中,也不进行实际的渲染 √ 指定游戏画布父元素 默认情况下,Phaser会将创建的canvas元素插入到文档的body元素尾部。...,框架就会使用body元素作为游戏画布的父元素。...需要注意的是,游戏画布的父元素应当将padding设置为0,否则框架在计算 尺寸时会产生偏差。

    4K20

    K歌礼物视频动画 web 端实践及性能优化回顾

    共使用到两个 canvas 画布,一个用来离屏读写 imageData, 计算后放到另一个真实看到的画布。 这样第一版就快速实现了。单个 demo 来看是 Ok 的。 ?...礼物动画这种场景本身不应该出现播放中的等待。因此需要支持加载完整个视频后再本地播放。 这里改为使用 xhr2 将视频完全下载后转为 blob 再放到 video 让其能够一次顺畅播完。 ?...更换 WebGL 按照前面的设想 (尝试将消耗转移和利用 GPU),于是考虑使用 WebGL 来看看能否实现。 理论上就是每帧两个部分的对应区域叠加混合。...刚开始凭直觉找了一圈 Blend 和 composite 的方案不合适。后来想起 ImageData、  这些是可以作为 texture 纹理在 WebGL 中使用的。... 创建两个坐标变量 AlphaCoord 和 ColorCoord,分别代表两个区域的位置 (gl很啰嗦,已省略部分非关键代码): ?

    2.6K20

    图形编辑器基于Paper.js教程19:摄像头定位,鱼眼透视矫正,透视变换,工作区域裁剪

    最近做了一个摄像头定位的功能,这个摄像头安装在激光雕刻机的顶部,使用方法就是对着雕刻区域拍照,然后将照片覆盖在画布上,这样创作的元素就与雕刻区域形成一个映射。...获取了图片后,需要进行鱼眼矫正,鱼眼矫正之前的文章有提到过,这里的矫正参数使用的调试好的参数。所以不需要用户介入。鱼眼矫正使用的是webgl,所以需要将图片渲染到webgl的canvas上进行矫正。...点击下一步时,需要获取矫正后的图片,这个时候就是从这个webgl的canvas上取照片,webgl的canvas。坐标系在左下角,所以需要做一层转换,翻转的都是像素点,imageData。...用户选完点后,将四个点的坐标传给glfx库,对图片进行透视变换,透视变换用的也是webgl,不同的是,这个库提供了toDataURL 并且不需要翻转像素。...透视变换后,对图片进行截取,将工作区域部分截取出来。这个时候还需要借助canvas,将图片渲染到canvas 上然后使用drawImage方法,截取出激光雕刻机工作区域的图片。

    8910

    微信小程序官方组件展示之画布canvas源码

    以下将展示微信小程序之画布canvas源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。功能描述:画布。...属性说明:图片Bug & Tip1.tip:canvas 标签默认宽度300px、高度150px2.tip:同一页面中的 canvas-id 不可重复,如果使用一个已经出现过的 canvas-id,该...canvas 标签对应的画布将被隐藏并不再正常工作3.tip:请注意原生组件使用限制4.tip:开发者工具中默认关闭了 GPU 硬件加速,可在开发者工具的设置中开启“硬件加速”提高 WebGL 的渲染性能...5.tip: WebGL 支持通过 getContext('webgl', { alpha: true }) 获取透明背景的画布6.tip: Canvas 2D(新接口)需要显式设置画布宽高,默认:300...-- 当使用绝对定位时,文档流后边的 canvas 的显示层级高于前边的 canvas --><canvas style="width: 400px; height: 500px;" canvas-id

    86840

    【愚公系列】《微信小程序与云开发从入门到实践》022-canvas(画布)组件及应用

    无论是创建游戏、展示创意图表,还是实现个性化的用户界面,canvas组件都能带来无限的创作空间和灵活性。在本篇文章中,我们将深入探讨微信小程序的canvas组件及其应用场景。...我们将介绍canvas的基本使用方法,包括如何绘制基本图形、处理图片、实现动态效果等。同时,我们还会分享一些实用的案例,帮助你理解如何将canvas组件应用于实际项目中,提升用户体验和互动性。...type 用来设置使用 canvas 的类型,包括:2d: 使用 Canvas 2D 进行绘制webgl: 使用 WebGL 进行绘制通过 id 来获取到 canvas 对象,通过操作 canvas 对象的渲染上下文对象就可以实现自定义绘制...使用 Canvas 2D 进行绘制- webgl: 使用 WebGL 进行绘制canvas-id 字符串 canvas 标识 disable-scroll...页面上已经放置了一个 canvas 组件,该组件将其理解为一个空白的画布,画布上要渲染什么完全取决于我们的操作。

    12010

    WebGL 概念和基础入门

    WebGL 中的基本概念 WebGL 运行在电脑的 GPU 中,因此需要使用能在 GPU 上运行的代码,这样的代码需要提供成对的方法,每对方法中的一个叫顶点着色器而另外一个叫做片元着色器,并且使用 GLSL...// 将创建好的 canvas 画布添加至页面中的 body 元素下 // 接下来我们需要判断浏览器对于 WebGL 的兼容性,如果浏览器不支持 WebGL 那么我们就不需要再进行下去了 if...WebGL 原生 API 开发的不足 上面原生 WebGL API 绘制三角形的例子,充分向我们展示了使用原生 WebGL API 开发 3D 交互式网页存在的问题。...而场景的光照,纹理等的设计也都需要对颜色的配置有自己的见解。所以为了给初学者降低难度,下面我将介绍一些 WebGL 开发的常用框架。...renderer.setSize(width, height); // 将画布元素挂载到页面 document.getElementById('canvas-frame').appendChild

    4.2K31

    WebGL 纹理颜色原理

    [1510109227732_1586_1510109273487.jpg] 颜色缓冲区 在绘制开始前,经常见到调用函数清空画布的代码gl.clear(gl.COLOR_BUFFER_BIT),清空画布的绘图区实际上就是用之前定义好的背景颜色将颜色缓冲的的颜色清除...可以将颜色缓存区看成图像颜色存储器,在缓存区中以RGB或RGBA的格式存储着画布上每一个像素的颜色信息,各个像素点组合起来就构成了颜色缓存的矩形阵列。...经过内插,图形的每一个片元都指定了自己的颜色,写入颜色缓冲区后呈现出来。 纹理贴图 如果要为WebGL创建更加复杂更加自然的现实效果,就需要采用贴图来将现成的图片贴到图形上。...[1510109340778_7737_1510109386391.png] 将纹理图像的坐标转换到画布上图形的坐标的映射过程就是纹理映射,这个过程中,为图形顶点指定了纹理坐标,剩下的颜色由内插计算得出...,WebGL为了使用多个纹理,用纹理单元来处理纹理图像。

    2.7K10

    【WebGL】初探WebGL,我了解到这些

    它允许开发人员使用JavaScript与用户设备的GPU(图形处理单元)交互,实现硬件加速渲染。 WebGL的图形处理流程主要包括以下步骤: 顶点着色器:将对象的3D坐标转换为2D空间。...在这里,我们将编写我们的WebGL代码。...gl) { alert('您的浏览器不支持WebGL。请使用兼容的浏览器。'); } 定义顶点和片元着色器 WebGL需要使用GLSL(OpenGL着色语言)编写着色器。...将顶点着色器和片元着色器附加到着色器程序对象上。 链接着色器程序,将顶点着色器和片元着色器连接为一个完整的 WebGL 着色器程序。...指定顶点属性数据的格式,并将缓冲区数据关联到顶点着色器中的 a_position 属性。 设置画布的清空颜色为黑色,并使用 gl.clear 方法来清空画布。

    40621

    HTML5技术干货:如何将LayaAir引擎性能发挥到极致

    尽管LayAir引擎性能很高,如果开发者不能发挥好引擎的优势,游戏最终的性能体验或将无从谈起。因此,在制作游戏过程中,掌握游戏以及引擎的优化技巧还是非常有必要的。...Canvas渲染模式与WebGL渲染模式,以下将分别对两种不同模式的参数进行逐一解释。...Canvas 面板中Canvas表示缓存画布的数量,分别代表 (每帧重绘的画布数量 / 缓存类型为”normal”类型的画布数量 / 缓存类型为”bitmap”类型的画布数量”)。...当值为"normal"时,canvas下进行画布缓存,webgl模式下进行命令缓存。 当值为"bitmap"时,canvas下进行依然是画布缓存,webGL模式下使用renderTarget缓存。...,或者自己手动调用recover()方法回收; 3、尽量减少滤镜,遮罩的使用,虽然LayaAir引擎对这些做了大量优化,但是还是不推荐大量使用;特别说明一下,在webGL模式下颜色滤镜消耗很小,可以使用

    2.8K41

    WebGL基础教程:第三部分

    WebGL将所有的顶点传入顶点着色器,在应用了变换之后,它会计算出每个顶点的最终坐标。 然后,为了节约时间,WebGL丢掉了被挡在其它对象之后的那些顶点,且只画最重要的对象。...就像光线投射一样,它只不过是将光线投射到可见对象上。 所以,我们将场景的"摄像机"设置为光源的坐标,并让它的朝向光线前进的方向。 然后,WebGL自动删除不在光线照耀下的那些顶点。...HTML不会让你在同一个画布 (canvas) 上使用WebGL API和2D API。 你可能会想,"为何不用HTML5的画布 (canvas) 的内置2D API"?...原因在于HTML不让你在同一个画布上同时使用WebGL API和2D API。 一量你将画布 (canvas) 的上下文赋给WebGL之后,你不能再在它上面使用2D API。...我不会开始造一个新的2D框架,但是我们可以用一个简单例子来显示模型在当前旋转情况下的坐标信息。 让我们在HTML文件中添加第二个画布,就放在WebGL画布的后面。

    2.7K20
    领券