Other articles


  1. 用WebGL编写一个3D图形网站

    自己的学生生涯也差不多结束了,感觉是时候把自己这一年来学的东西做一个总结,顺便回顾一下以前做过的东西。这几天多动动手,争取写多一些内容。

    WebGL简单介绍

    如果有听说过OpenGL的话,那么WebGL理解起来就不是那么困难了,简单来说其实就是OpenGL在HTML5的JavaScript移植版。要是OpenGL没听说过,那就把它当成是一个在网页上的图形引擎吧。我们可以在HTML5的网页上创建Canvas(画布)来配置我们的WebGL绘制图形的过程。

    要想从最基本的开始写一个很简单的程序也不是那么容易的,写过OpenGL程序的人肯定都知道,想要显示一个简单的正方形也不是一句代码就能解决的事。你得设置好视角,然后你得定义绘图方式,标出矩形每一个顶点的位置,再转换到世界坐标系等等。总之就是一切都是计算机图形学基础的东西,要想好好用WebGL这个写一个能看的动画估计就得花好长时间了。所以我们还是用点现成的东西吧,目前关于WebGL可用的库有很多,比较常用的就是Three.js。

    Three.js

    这个库已经写的比较完整了,已经有很多很炫的例子,可以在官网上找到。有了Three.js,很多事情变简单了许多。绘制一个3D画面的步骤就变成这样了:

    1. 在HTML网页里配置基本的画布
    2. 在画布上布置WebGL基本元素,比如立方体,球体等等
    3. 配置好Camera,加入光源,着色器等等
    4. 如果需要的话,加入对输入设备的检测,比如鼠标的点击动作
    5. 最后就是加入一个计时器不断地刷新页面,比如动态显示水面的波纹 …
    read more

    There are comments.

links

social