OpenGL——可编程管线基础光照的实现

在OpenGL中创建 基础光照 ,主要的工作将模型中的法线信息和法线空间运算矩阵传入到shader中。另一方面,LightDir,ViewDir通常是在shader中从引擎参数获取的,为了简化光照模型的实现,这里我们可以在shader中写死。至于经典的 ambient+diffuse+specular 光照原理,不是本文的重点,就在shader中一笔带过了。

原理

通过函数

glm::mat4 normalMatrix = glm::inverseTranspose(s_shaderData.model);

可以获取当前模型的法线矩阵。用来将法线信息从模型坐标转换为世界坐标。这个矩阵是随着模型的Transform改变而改变的,因此需要在Render时动态计算。

实现

在 基础光照 中,数据传递没什么特殊的,将Normal信息作为attribute传递到shader,将NormalMatrix作为uniform传递到shader。

MIT可穿戴黑科技:你的衣服可由电子设备编织而成

可穿戴技术实现重大突破,你的衣服可由电子设备编织而成。近日,麻省理工学院的研究人员成功将包含了发光二极管(LED)和光敏二极管在内的高速光电子半导体器件嵌入纤维内,织成耐水洗的柔性布料,实现用布料制成一个通信系统。

扫盲 | 新能源汽车的分类

新能源汽车目前已经越来越普及,对于外界所提到的纯电动车、插电式混合动力、增程式混合动力等等类型的新能源车仍困惑不已,它们到底有何区别,各自有何优势或不足呢?

扫盲 | 新能源汽车的分类

上面这张图如果您还没有完全看懂的话,别着急,下面的文章将进一步帮助我们扫盲!

1、电池动力汽车(BEV)

GPU屏幕渲染的两种方式——On-Screen Rendering、Off-Screen Rendering

GPU渲染机制:

CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。

GPU屏幕渲染有以下两种方式:

6 种激活函数核心知识点,请务必掌握!

作者:红色石头

我们知道,神经网络模型中,各隐藏层、包括输出层都需要激活函数(Activation Function)。我们比较熟悉的、常用的激活函数也有 ReLU、Sigmoid 等等。但是,对于各个激活函数的选取方法、区别特点还有几点需要特别注意的地方。今天红色石头就和大家一起来总结一下常用激活函数 Sigmoid、tanh、ReLU、Leaky ReLU、ELU、Maxout 的关键知识点。

1、为什么需要激活函数

神经网络单个神经元的基本结构由线性输出 Z 和非线性输出 A 两部分组成。如下图所示:

为什么很多程序员工作时都戴耳机?他们在听什么呢?

观点一:非诚勿扰,想静静

1、啥也没听,只是带着耳机而已。只是想告诉别人不要打扰我,选择性屏蔽一些讨厌的人说的话,不回答他。

2、在听笑话或者有声小说。特别不想工作的时候我会很认真的听,如果进入工作状态了,自己也就不知道在听什么了,然后等到没事的时候我会再翻过去听一遍。

图像处理算法——边缘检测

图像处理领域中涉及很多特征,角点特征,边缘特征,形状特征,纹理特征,颜色特征,直方图统计特征等等(还有很多^_^)。这些特征有些是比较底层的特征,如角点特征,边缘特征,颜色特征等,有些则是较为高层的特征,如形状特征,纹理特征,直方图统计特征。

这里我们主要谈论底层特征中的边缘特征,提取这些特征的手段叫作边缘特征提取或叫作边缘检测。边缘检测常用的算子中分为一阶检测算子和二阶检测算子,这里提及的算子有些类似数学中的微分的概念(要有一定的数学基础哦)。边缘检测的另外一种形式也被成为相位一致性,这个概念我到后面再谈及,有了这个概念之后帮助我们从图像频域分析边缘提取这一过程。

最高的柔性系统是“人”,智能柔性生产的七大方面和两个要素

作为制造业中极为重要的一环,柔性制造在整个制造业智能化转型的过程中扮演着极具分量的角色,对于如何理解柔性制造各方情况,本文将为你带来很好的辅助效果。

一、如何理解柔性制造

Unity资源解决方案之AssetBundle

1、什么是AssetBundle

AssetBundle是Unity pro提供的一种用来存储资源的文件格式,它可以存储任意一种Unity引擎能够识别的资源,如Scene、Mesh、Material、Texture、Audio、noxss等等,同时,AssetBundle也可以包含开发者自定义的二进制文件,只需要将自定义文件的扩展名改为.bytes,Unity就可以把它识别为TextAsset,进而就可以被打包到AssetBundle中。Unity引擎所能识别的资源我们称为Asset,AssetBundle就是Asset的一个集合。

AssetBundle的特点:
压缩(缺省)、动态载入、本地缓存;

2、AssetBundle VS Resource