Three.js与计算机图形学

作者: 无言以越 | 来源:发表于2019-07-13 16:28 被阅读0次

    其实最开始接触3d我是惶恐,觉得3d这么高大上的东西,一点思路都没有,但计算机之所以是们一门伟大的产品就在于可以站在巨人的肩膀上奋力攀爬,只有在把你感觉根基不稳的时候才需要去了解底层原理。

    我们知道越是底层的东西越是抽象,理解起来越是困难,所以作为入门并且作为一个前端,我选择了three.js这个框架来了解3d的成像原理。

    我们先缕清这之间的联系,计算机图形学作为原理通过显卡GPU渲染实现,其中显卡的实现指令主要有2套实现框架

        1,Microsoft 的Direct3D

        2,Open GL

    Direct3D拥有的Microsoft原罪属性注定它只能在Windows上运行,所以OpenGL成为了传播较广的一个。

然后大神们将OpenGL简化成是OpenGL ES并加上javascript使之成功移植到了web端。这也就是webgl的由来,又然后在webgl的基础上封装而来了three.js,,一个由javascript为工具在web端运行直接操作显卡的3d渲染框架。

    封装了这一层又一层后,three.js的上手难度已经变的简单了许多,然而封装在过程中,暴露的api越来越简单功能也就越来越不灵活,想要写出那些api没有暴露的复杂特效就需要研究底层的框架。

    Three.js之所以受欢迎是因为它提供了比较生活化的对象概念,提供了比较基础的封装好了的几何对象,对于复杂的模型也支持外部导入以及自定义着色器(shader)。

    制作3d,首先,我们需要一个场景(Scene),场景里面需要有我们要显示的物体(Mesh,Line),然后还需要光源(Light)去照射物体,最后场景是无限大的,不可能去获取整个场景的信息,这个时候就需要摄像机(Camera)去取景获取一定范围内的信息,取得了需要显示的信息后就需要通过渲染器(renderer),把3d的场景信息投影在浏览器的2d窗口上,这样就形成了一帧的3d画面渲染,假如还需要动态的3d动画,那就需要利用requestAnimationFrame函数进行帧循环动画渲染,在GPU性能充足的情况下大概是60帧每秒,这样也可以利用人眼的视觉停留形成动画效果。

相关文章

  • 《计算机图形学》.pdf

    【下载地址】 《计算机图形学》与大多数传统的计算机图形学教材不同,它仅简要介绍交互式计算机图形学方面的基本知识,主...

  • Three.js与计算机图形学

    其实最开始接触3d我是惶恐,觉得3d这么高大上的东西,一点思路都没有,但计算机之所以是们一门伟大的产品就在于可以站...

  • 计算机图形学基础重点

    计算机图形学基础重点 计算机图形学的定义:  计算机图形学(CG)是研究怎样利用计算机来显示、生成和处理图形的原理...

  • Three.js与计算机图形学(二)

    Three.js较人性化的为我们封装了易于理解的3d对象(相机,场景,光源等等),这有助于我们初窥3d的计算机世界...

  • Three.js与计算机图形学(三)

    Three.js中的3d场景(scene)为无限大的,我们当然不可能去获取无限大的信息,在Three.js中封装了...

  • 计算机图形学

    计算机图形学

    介绍 计算机图形学(Computer Graphics,...

  • 计算机图形学——001概论

    001.概论 内容:计算机图形学的概念、发展历程和应用 001.1 计算机图形学的研究内容 什么是计算机图形学(C...

  • webgl 1.开始

    是先学习计算机图形学还是先学习 OpenGL ?我建议先熟悉 OpenGL, 大体了解图形学编程。计算机图形学偏底...

  • CG006读《什么是计算机图形学》

    一 什么是计算机图形学 计算机图形学(computer Graphics) 是研究计算机世界中图形的学问。 二 计...

  • 2022-05-22 计算机图形学学习笔记

    lecture 01:overview 计算机图形学≠计算机视觉,视觉需要猜测,图形学需要模拟 lecture 0...

网友评论

    本文标题:Three.js与计算机图形学

    本文链接:https://www.haomeiwen.com/subject/tarmkctx.html