首页 > TAG信息列表 > specular

UE4材质连连看(1)- 基础节点

连连看的终点 UE4采用PBR进行渲染,PBR有主要有两个组成部分,分别为Light Properties和Surface Properties。 光属性一般有引擎本身控制,分为以下几种 Direct Diffuse:直接漫反射 Indirect Diffuse:间接漫反射 Direct Specular:直接镜面反射 Indirect Specular:间接镜面反射

OpenGl L11多光源

一.多光源 为了在场景中使用多个光源,我们希望将光照计算封装到GLSL函数中。GLSL中的函数和C函数很相似,它有一个函数名、一个返回值类型,如果函数不是在main函数之前声明的,我们还必须在代码文件顶部声明一个原型。我们对每个光照类型都创建一个不同的函数:定向光、点光源和聚光

[Shader] 固定管线Shader01

// 固定管线着色器(固定功能的Shader) // 针对硬件能执行的基本命令编写的Shader,通过一些列的命令达到对图形着色的目的 // 功能有限,但是速度是最快的,Unity官方号称这种Shader可以在所有的平台上良好运行 // ShaderLab 基本结构 // Shader "name"{ // [Properties] 可以没有 //

unity模仿瓶子中的液体晃动

在VR游戏《半条命:Alyx》中,有个酒瓶中液体晃动的交互。      这里在patreon上有个实现了液体晃动的工程,作者忘了叫啥了,记得的话补回来。这里简单分析一下代码的意思,之前也看过,只是不太理解旋转部分的代码,现在重新复习一下。       液体的shader Shader "Unlit/SpecialFX/Li

OpenGL学习笔记——光照

目录 1. 颜色2. 基础光照2.1 环境光2.2 漫反射2.2.1 法线转换为世界坐标系 2.3 镜面反射2.4 基于BIIion-Phong模型的片元着色器 3. 材质4. 光照贴图5. 透光物5.1 平行光5.2 点光源5.2.1 衰减5.2.2 选值5.2.3 实现衰减 5.4 聚光5.4.1 聚光的定义5.2 手电筒5.3 平滑/软化边缘

Python的灵活运用之——100 行代码教你实现光线追踪 !

“Ray Tracing is the Future and Ever Will Be” 英伟达的一位大佬曾经这么说过:「光线追踪是未来,而且将永远是未来。」 光线追踪的原理是非常直观而优雅的,其应用的核心难点在于性能优化。本文将基于光线追踪的基础原理,用 100 行 python 代码实现一个简单的光线追踪渲染器。 基

shader学习之路——纹理遮罩

遮罩可以保护某些区域,使他们免于某些修改。例如:模型表面某些区域反光强烈一些,而某些区域弱一些,或者用于混合多张纹理 流程:通过采样得到这招纹理的纹理素值,然后使用其中某个(或某几个)通道的值来与某种表面属性进行相乘,这样,当该通道的值为0时,可以保护表面不受该属性的影响。总而言

OpenGL高级版本学习日志2:光照模型&材质

  1. 前言 促使我学习OpenGL新版本的一大动力,就是对改善渲染质量的渴望。谈到渲染,就不能不提光照模型。好的光照模型,对物体的真实感渲染起到至关重要的作用。本章我将从光照模型这个主题切入,来谈一谈如何通过编写shader来控制光照。 注:本章的部分内容可能存在主管成分,未经严格

Lighting maps_练习一

尝试在片段着色器中反转镜面光贴图的颜色值,让木头显示镜面高光而钢制边缘不反光(由于钢制边缘中有一些裂缝,边缘仍会显示一些镜面高光,虽然强度会小很多) 1 #version 330 core 2 out vec4 FragColor; 3 4 struct Material { 5 sampler2D diffuse; 6 sampler2D specul

颜色,基础光照,材质(二)

本篇blog讲一下关于材质的知识。 在前面中,我们通过设定几个光照分量以及物体本身的颜色,实现了物体的视觉输出(就是人眼看到的啦)。 设置材质:我们可以通过进一步地整合数据,来对物体的颜色进行更加严格的控制,既环境光照,漫反射光照,镜面光照三个分量,再加上反光度(为了方便理解,我们把这

光照贴图

    光照贴图一般有漫反射和镜面高光贴图。光照贴图用在片段着色器中,对每个片元计算color时,对于phong光照模型,diffuse和specular材质颜色可以从对应的纹理中采样,这就是光照贴图。   片段着色器代码如下: #version 430 coreout vec4 color;in VS_OUT{ vec3 FragPos; vec

OpenGL学习笔记:投光物

平行光 这部分好理解,只贴出着色器代码,注意:这里删除了灯源位置,添加了无限远光源的方向 #version 330 core // 定义材质结构体 struct Material { // vec3 ambient; // 移除了环境光材质颜色向量,因为环境光颜色在几乎所有情况下都等于漫反射颜色,所以我们不需要将它们分开