ZeroNet Blogs

Static ZeroNet blogs mirror

nolotus

关注zeroblog,杂耍各种技术,自己心情小记,欢迎各位勾搭-》友情链接/技术探讨

光源小记

- Posted in nolotus by with comments

spot圆柱形光源

单方向,可调整角度 光的距离 光的衰减 光的强度,会影响材料

point 点光源

全向光

hemisphere 半球光

可做颜色渐变光

Directional lights

方向光,单向,无限光源

全局光Directional lights

仅影响颜色全局的。

那么,问题来来,怎么弄出真实级别,至少半真实的局部光照

真实感图形学小记

- Posted in nolotus by with comments

颜色

色调(Hue)、饱和度(Saturation)和亮度(Lightness) 红色700绿色 546 蓝色 435.8

简单光照模型

:用Phong模型显示出的物体像塑料,没有质感;环境光是常量,没有考虑物体之间相互的反射光;镜面反射的颜色是光源的颜色,与物体的材料无关;镜面反射的计算在入射角很大时会产生 失真等

阴影

暂不理解

局部光照

  1. 局部光照明模型是基于入射光能量导出的光辐射模型,而简单光反射模型基于经验,显然前者更具有理论基础。 2.局部光照明模型的反射项以实际物体表面的微平面理论为基础,反映表面的粗糙度对反射光强的影响,而简单光照模型只以(N*H)n近似,前者的模拟更精确。 3.局部光照明模型的高光由Fresnel定律,根据材料的物理性质决定颜色,而简单光照模型只以高光颜色与材料无关。 4.简单光照模型在入射角接近90o时会产生失真现象,而在局部光照明模型中可以很好的改进这一点。 5.用简单光照模型生成的物体图象,看上去象塑料,显示不出磨亮的金属光泽,而在局部光照明模型中,反射光强的计算考虑了物体材质的影响,就可以模拟金属的光泽。

光透射(oh my god ,都是神啊,)

  1. 伪光透射,颜色调和
  2. 真投射?小弟不懂啊

纹理

  1. 伪纹理 太常见了,图片了,颜色了(球面,圆柱面),但是,由于纹理域是二维的,图形场景物体一般是三维的,这样在纹理映射的时候是一种非线性映射,在曲率变化很大的曲面区域就会产生纹理变形,极大的降低了图象的真实感,而且对于二维纹理映射,对于一些非正规拓扑表面,纹理连续性不能保证
  2. 3d纹理,坐标直接定义,

整体光照()

  1. 光线跟踪(间接反射,间接折射)

写博客相关心得

- Posted in nolotus by with comments

  1. 检索系统很重要-》分类我一直认为够用了,原来标签化的管理给予了文章不同的维度,尤其你的文章内容交叉多种类别的情况下。无论访客寻找内容,还是自己二次更新

  2. 善用标签系统,别懒,对于wordpress等后台强大的好说,zeroblog二次修改就靠标签检索(我不喜欢很重的软件,例如不太需要wordpress那么强大的后台)

zeronet缺点

- Posted in nolotus by with comments

  1. 在笔记本建了博客,然后在台式电脑上使用私钥登录,
  2. 然后我在笔记本删除一篇文章,台式电脑就无法更新删除的内容,然而改变的内容却能够同步
  3. 如果没有登录的节点,删除内容,会同步删除
  4. 每一次台式电脑发布,动不动就要私钥
  5. 和各种代理冲突~

aframe小技巧

- Posted in nolotus by with comments

this.pivot = new THREE.Object3D();
      this.el.object3D.position.set(0, document.querySelector('#camera').object3D.getWorldPosition().y, -4);

      this.el.sceneEl.object3D.add(this.pivot);
      this.pivot.add(this.el.object3D);

当你开发一个3d插件的时候,尽量与镜头对焦来保证用户可以第一时间看到,而不是二次寻找,当然,在多个3d内容情况下,不同分案。 以上代码新建一个3d对象(pivot-》焦点,并非整体),x为0,保证同一水平线,然后获取镜头y值保证在同一高度,-4拉开距离

光标问题

document.querySelector('#cursor').setAttribute('visible', true);

屏幕上有鼠标, vr应用可以隐藏光标,但是当进行细致交互时,我们需要给用户明确的操作位置,可以给出光标,下面的代码了给出对交互界面以及光标,要适时关闭

材质判定(其实没必要,但还是写)

var id = this.el.getAttribute('data-image-id');
        id = '#img-photosphere-' + id;
      if (document.querySelector('#photosphere').getAttribute('material').src != id) {

          document.querySelector('#photosphere-menu').setAttribute('visible', false);
          document.querySelector('#cursor').setAttribute('visible', false);
          document.querySelector('#photosphere').setAttribute('material', 'src', id);

        }

如果你需要更换材质,请记得,判定下和当前的id值是否相同(我会告诉你我demo就直接加载值,我才懒得判定)

图形学算法

- Posted in nolotus by with comments

线段

dda算法 中点画线法 http://netclass.csu.edu.cn/NCourse/hep089/Chapter2/CG_Txt_2_001.htm

利用其八对称的特性,然后重点取值

多边形

顶点表示 点阵表示-面着色

区域填充

四向 八向

裁剪

完全萌比。同上的各种算法,数学数学,哎

锯齿

a-frame组件开发2

- Posted in nolotus by with comments

注册组件

AFRAME.registerComponent('positon',{
schema: { type: 'vec3' },

update: function( ) {
var object3D = this.el.object3D;
var data = this.data;
object3D.position.set(data.x, data.y,data.z);
//
});

data?数据呗 数据类型 boolean int number selector src string vec3

你问我el啥意思?对entity的引用

方法 inti 初始化 update 改变时 remove tick play pause

a-frame组件开发小记

- Posted in nolotus by with comments

默认:组合性的需要高于继承性 entity固有属性:位置,旋转,缩放 默认值:0 0 0 缩放为1 1 1
可对其添加形状,材料,光线等属性 可通过dom进行查询(比那些封装的js库强太多) 例如查询其属性,调用其方法

例如 .components.camera.camera .components.material.material .components.sound.paise();

.object3D

可对其添加状态 .addEventListener .addState() .is() 判断

.emit 暂不会

.getAttribute 获得其属性 .setAttribute 设置属性 remove+name移除

交流

- Posted in nolotus by with comments

人与人的交流, 宗教徒与宗教徒的交流 哲学流派的交流 技术流派的交流 有句话好像说,神创造语言就是为了,我们不上巴别塔, 或许如此吧。 包括我自己,我们总是活在自己的巴别塔下,而这个巴别塔却不在地上。

webGL小记

- Posted in nolotus by with comments

环境光 点光源 聚光灯,角度,衰减 光源与材质相互影响 方向光无衰减

模型输出 数据迁移 点 面 ,缓存索引

数据计算 面的中心, 面的法向量 顶点法向量