拥有0000-未整理-等待研究标签的文章

前端实现旗帜飘动效果系列 (Ⅲ):canvas2D实现(2) - 一行代码一行泪 - 开源中国

     本讲我们在上一讲的基础上,给旗子添加高光,使其看起来更加有立体感。我会用两种方式来分别实现这个效果,然后比较一下优劣,还是先讲原理。     方法一:在原来的代码drawImage之后通过 fillRect 函数来增加一个白色蒙层,通过透明度的递增和递减来模拟。具体多少透明度?当然你可以用数学的方法来求导计算出某一点的斜率,根据其大小和正负得出其透明度大小,斜率越大,透明度越小。这里...
阅读全文

前端实现旗帜飘动效果系列 (Ⅱ):canvas2D实现(1) - 一行代码一行泪 - 开源中国

    这里是本系列的第二讲,不知道大家自己试过了没,虽然整体效果差强人意但是并不算完美。本讲我们先用那个canvas2D把上一讲的效果实现一遍。    还是先讲原理,动手能力强的童鞋可以看了原理自己去鼓捣。    设有三角函数 y = Asin(ωx+φ):    第一步,我们要先利用高中的三角函数知识来计算出旗帜飘动(类似简谐运动)的第一帧 (设初相φ=0) 的曲线,假设我们有...
阅读全文

前端实现旗帜飘动效果系列 (Ⅰ):dom+css实现 - 一行代码一行泪 - 开源中国

hello,民娜桑我又来开新坑了( ̄ε( ̄)☆╰╮o( ̄皿 ̄///),这次尽量保证把这个坑填完本系列我会分四篇来完成主题,分别是① DIV+CSS的实现,② canvas2D的简单实现,③ canvas2D的进阶实现,④ webgl+着色器的实现 以及 ⑤ 包装成jquery插件并发布为npm模块 。这是整个系列完成以后的最终效果:开始阅读之前请确保您对高中的三角函数还有一定的印象...
阅读全文

(译)stackoverflow上关于柱形全景与立方体全景转换的讨论 - 一行代码一行泪 - 开源中国

提问:===@ WestLangley:我正在给某网站开发一个简单的3D全景浏览功能。考虑到移动端的性能,我使用了three.js的。它需要一个由六张图组成功立方体贴图。我用iPhone上的“Google Photosphere”(或其他类似的app)创建了一个2:1的柱形全景图,然后用把柱形全景图转换成了立方体全景图。但是我想自己完成这种转换,比如用three.js或者Phot...
阅读全文

three.js(八) bump map的生成 - 李勇2的个人空间 - 开源中国

bump Map 主要用于增加表面的法向量细节。例如一个平面其法向量处处相同,即使使用了纹理,光照下的表现仍然不够真实。这时可以扰动表面面片的方向量,从而形成比较真实的光照效果。类似于地形生成,可以通过分形的方法生成平面表面的随机高度, 接着根据高度生成每个位置的法向量。这里使用512\512的纹理, 但是由于分形需要513\513个点,所以最后纹理取计算结果的左上角即可。过程分成三步:...
阅读全文

three.js 地形纹理混合 - 李勇2的个人空间 - 开源中国

地形生成通常使用高度图, 而高度图的生成可以使用绘图工具,或者通过分形算法生成,例如squarediamond,  fbm方法。 这里采用简单求平均值+随机波动的方法。 对于一个2^n+1    2^n+1 的网格, 中心点的高度是四角点的平均值加随机偏移, 边上中点的高度值是边两端点的平均值加随机偏移。 接着将偏移的幅度缩小, 计算四个较小方块的顶点的高度值。...
阅读全文

VR进化论|教你搭建通用的WebVR工程 - YoneChen的个人空间 - 开源中国

_本文旨在介绍如何搭建WebVR工程以支持多场景开发。_首先,作为一个基本的前端工程来说,我们需要让代码“工程化”,不仅要提供编译构建、压缩打包功能,还要让每个页面模块化; 延伸到WebVR工程,我们也需要考虑“多页面”模块化,即提供多个场景模块化开发,因为一个完整的WebVR App不仅仅只有一个场景。这里可以参考google的WebVR多场景示例:_webvr多场景应用_多...
阅读全文

three.js 显示三维模型(贴图) - mellen的个人空间 - 开源中国

<!DOCTYPE html <html lang="en"    <head         <title id="h2"</title         <meta charset="utf8"         <meta name="viewport" content="width=devicewidth, userscalable=no, minimumscale=1.0...
阅读全文

Three.js WebGL 绘制流程(一) - 李勇2的个人空间 - 开源中国

Three.js 中3D 物体 都继承于 Object3D;而构造一个3D 物体 需要 提供两个对象 即Gemotry 几何体 和 Material 材质。Gemotry 中 vertices 决定定点的 列表, face 决定面的构成, faceVertexUv 决定 纹理坐标而Material 不同类型将会采用不同类型的shader 来绘制, 通过 设定Material 的某些材质...
阅读全文

Three.js活地图 - 乐搏学院的个人空间 - 开源中国

的著名3D开源引擎之一的three.js中的主要对象及其间关系展示。图1:基本渲染顺序示意图图2:引擎核心对象示意图登录乐搏学院官网或关注我们的官方微博,还有更多惊喜哦本文出自 “原网址: 创建于: 20181013 16:37:16目录: default标签: 无
阅读全文