webgl和css3 3d有什么区别?
Webgl可以用js调用openGL,比如cs,极品飞车等等。要知道很多游戏都是openGL,真的很像3D软件,里面有X,Y,Z Y,Z轴,形成一个三维空间,然后可以放入一个人物,汽车或者其他3D模型,粘贴贴图,灯光。游戏引擎通过凹凸、位移、颜色、扩散、反射、大气雾效果、深度场景等通道渲染出一个实时的游戏画面。openGL和3D软件渲染的一般原理是一样的,只是渲染精度没有3D软件画图或者拍电影那么高。openGL下的渲染算法、导入3D模型的数量、贴图的大小都是有限制的,所以要保证游戏不卡在主流家用电脑硬件上。
Css只有X和Y两个轴向,只能形成一个平面,而不是真正的三维空间。你在网上看到的css做的3D立方体的原理也差不多:在ps中,你画三个正方形的平面色块,通过拉伸和透视使其变形,形成一个三维的方盒子的三条边。这是一种视觉欺骗,只能拼凑出简单的三维形状。Css不会在3D空间中生成三轴的对象,也没有办法通过css导入真实的3D模型进行旋转,所以不能用纯css做出3D机器猫。
如果是webgl,可以建立机器猫模型,导入obj格式的模型文件,然后指定贴图、灯光等。,加上js代码控制,可以在支持的浏览器中360度展示机器猫。webgl的原理和游戏引擎是一样的(目前肯定没有游戏引擎强大),只是游戏引擎是用c++之类开发的,显示的东西基本上需要用户在本地电脑上进行一个安装的过程。现在可以用js开发webgl,然后直接在浏览器上显示。