自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 WegGL使用大致流程

html文件在body中定义canvas<!-- 创建一个canvas --><canvas id = "webgl" width = "400" height = "400"><!-- 不支持canvas时显示的文字 -->Please use the browser supporting "canvas"</canvas>引入一些专门为WebGL准备的、定义好的函数库<script src="../../lib/webgl-

2020-09-13 23:30:39 304

原创 常见接口

此书自定义接口1. 获取WebGL绘图上下文getWebGLContext(element, [debug])参数element:指定元素debug(可选):默认为false,设置为true则JavaScript中的错误会被显示到控制台上。打开后会影响性能,最好在调试后关闭它。返回值non-null WebGL绘图上下文null WebGL不可用关键代码var names = ["webgl", "experimental-webgl", "webkit-3d", "moz-w

2020-09-13 23:29:34 104

原创 WebGL笔记概述

前言本人是一名Unity前端工程师,已经学习了一些shader方面和渲染管线方面的知识,现在准备补习OpenGL部分知识。本篇学习WebGL的笔记是为了快速熟悉openGL,选择WebGL是因为WebGL是由OpenGL ES2.0派生而来,二者十分相似。优势OpenGL ES是OpenGL的一个派生版本,在添加一些新特性的同时,也摒弃了一些陈旧无用的旧特性,使它保持轻量级的同时,也有足够的能力去渲染精美的三维图形,且OpenGL ES被大量的电子设备所采用,有足够的学习价值。不直接通

2020-09-13 17:56:12 100

原创 《Unity Shader 入门精要》 第十四章 非真实感渲染 笔记

非真实感渲染尽管游戏渲染一般都是以照相写实主义作为主要目标。但也有许多游戏使用了非真实感渲染的方法来渲染游戏画面。非真实感渲染的目标是使用一些渲染方法,使得画面达到和某些特殊的绘画风格相似的效果。例如:卡通、水彩风格。卡通风格的渲染实现卡通渲染有很多方法,其中之一就是基于色调的光照模型。在实现中,我们往往会使用一张一维纹理进行采样,以控制漫反射的色调。卡通风格的高光效果也和我们之...

2019-05-07 13:00:29 238

原创 《Unity Shader 入门精要》 第十三章 使用深度法线和纹理 笔记

使用深度法线和纹理获取深度和法线纹理原理深度纹理就是一张渲染纹理,存储的像素值是高精度的深度值。范围是[0,1],通常是非线性分布的。深度值来自于顶点变换后得到的归一化的设备坐标顶点转换到齐次裁剪空间后,z坐标就是它的深度值。但是z分量的范围是[-1,1]所以我们为了能将其存储在图像中,使用:d = 0.5*z + 0.5将其变为[0,1]范围中。Unity中深度纹理可以来自...

2019-05-06 20:54:12 286

原创 《Unity Shader入门精要》 第十二章 屏幕后处理效果 笔记

屏幕后处理效果建立一个基本的屏幕后处理脚本系统屏幕后处理,通常指的是在渲染完整个场景得到屏幕图像后,再对这个图像进行一系列操作,实现各种屏幕特效。可以为游戏画面添加更多的艺术效果,例如景深、运动模糊。要实现屏幕后处理的基础在于得到渲染后的屏幕图像吗,即抓取平屏幕,Unity为我们提供了这样一个函数:MonoBehaviour.OnRenderImage(RenderTexture src...

2019-05-04 20:44:58 566

原创 《Unity Shader入门精要》 第十章 高级纹理 笔记

高级纹理立方体纹理环境映射的一种实现方式。包含六张图像,对应立方体六个面。纹理采样需要提供一个三维坐标,坐标作为一个矢量从立方体中心出发,采样结果就是矢量与立方体表面交点的信息。优点:实现简单,得到的效果好。缺点:引入新的物体、光源,或者物体发生移动时,需要重新生成。常用与天空盒以及环境映射。天空盒模拟天空或室内等背景Unity中,天空盒是在所有不透明物体之后渲染的。...

2019-04-28 17:22:29 248

原创 《Unity Shader入门精要》 第九章 更复杂的光照 笔记

更复杂的光照Unity的渲染路径在Unity里,渲染路径决定了光照是如何应用到Unity Shader中的。因此如果想要处理光照,我们需要为每个Pass指定它使用的渲染路径,然后Unity就会将光源和处理后的信息放在数据里,我们才可以访问Unity支持多种渲染路径,在Unity5.0之前有:前向渲染路径(Forward Rendering Path)、延迟渲染路径(Deferred Ren...

2019-04-26 11:31:56 240

原创 《Unity Shader入门精要》 第八章 透明效果 笔记

透明效果实时渲染中要实现透明效果,通常在渲染模型时控制他的透明通道。Unity中有两种方式实现透明效果:一种是透明度测试这种方法无法得到真正的半透明效果;另一种是透明度混合。之前没有强调过渲染顺序的问题,因为深度缓冲的存在。在实时渲染中,深度缓冲是用于解决可见性的,他可以决定那些部分物体会被渲染在前面,而哪些部分会被其他物体遮挡。它的基本思想是:根据深度缓冲中的值来判断该片元距离摄像机的距...

2019-04-22 22:40:02 252

原创 《Unity Shader入门精要》 第七章 基础纹理 笔记

基础纹理纹理最初的目的就是使用一张图片来控制模型的外观。使用纹理映射技术,我们可以把一张图“黏”在模型表面,逐纹素(纹素的名字是为了与像素作区分)地控制模型的颜色。在美术人员建模时,通常会在建模软件中利用纹理展开技术把纹理映射坐标存储到每个顶点上。纹理映射坐标定义了该顶点在纹理中对应的2D坐标。通常,这些坐标使用一个二维变量(u,v)来表示,其中u是横向坐标,而v是纵向坐标。因此,纹理坐标也...

2019-04-16 23:27:51 247

原创 《Unity Shader入门精要》 第六章 Unity中的基础光照 笔记

Unity 中的基础光照渲染的基础问题就是,我们如何决定一个像素的颜色?宏观上来看,渲染包括两个部分:决定一个像素的可见性,决定这个像素上的光照计算。光照模型就是用于决定在一个像素上进行怎样的光照计算。我们是如何看这个世界的当我们说一个物体是红色的时候,意味着这个物体会反射更多的红光波,吸收其他的光波。而一个物体看起来是黑色的则是吸收了大部分的光波。模拟真实的光照环境来生成一张图片时,我...

2019-04-13 23:50:37 357

原创 《Unity Shader入门精要》 第五章 开始学习Unity Shader之旅 笔记

开始学习Unity Shader之旅最简单的片元着色器#pragma vertex vert#pragma fragment frat告诉Unity那个函数包括顶点着色器的代码,哪个函数包括片元着色器的代码。float4 vert(float4 v : POSITION) SV_POSITION{ return mul(UNITY_MATRIX_MVP,v);}vert...

2019-04-10 17:45:07 337

原创 《Unity Shader入门精要》 第四章 学习Shader所需的数学基础 笔记

学习Shader所需的数学基础笛卡尔坐标系三维笛卡尔坐标系左手坐标系右手坐标系Unity使用的坐标系模型空间 左手坐标系世界空间 左手坐标系观察空间 右手坐标系,摄像机前向是z轴的负方向。坐标变换模型空间变换到世界空间中,这个变换叫做模型变换。世界空间变换的观察空间,这个变换叫做观察变换。观察空间变换到裁剪空间(齐次剪切空间),这个变换的矩阵叫做裁剪矩阵,也被称为...

2019-04-04 17:32:39 277

原创 《Unity Shader入门精要》 第三章 Unity Shader 基础 笔记

Unity Shader 基础shader和材质基本流程创建材质创建unity shader,并赋给创建的材质将材质赋给要渲染的对象在材质面板调整Unity Shader属性。Unity Shader 模板:standard surface shader:包含了标准光照模型的表面着色器模板unlit shader:不含光照的基本顶点/片元着色器image effect s...

2019-04-01 15:31:58 634

原创 Socket学习笔记

Socket笔记TCP/IP协议TCP/IP是目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合TCP:Transmission Control Protocol 传输控制协议IP:Internet Protocol 互联网协议TCP/IP五层协议graph TDA[应用层]-->BB[传输层]-->CC[网络层]-->DD[数...

2019-04-01 14:02:20 138

原创 Servlet学习笔记

Servlet笔记什么是ServletServlet是在服务器上运行的小程序。一个Servlet就是一个Java类并且可以通过“请求-响应”编程模型来访问这个驻留在服务器内存里的Servlet小程序。tomcat容器等级编写一个Servlet继承HttpServlet重写doGet()和doPost() 取决于提交方法web.xml中注册Servlet <serv...

2019-04-01 14:01:45 70

原创 JSP学习笔记

JSP笔记Android Studio搭建java web开发环境new->projecr 选择 web applicationWEB-INF下创建classes文件夹和lib文件夹File->Project Structure 选择path 点选 Use model compile output path修改两输出地址为创建的classes文件夹选择Dependenc...

2019-04-01 13:46:34 137

原创 《Unity Shader入门精要》 第二章 渲染流水线 笔记

渲染流水线的起点是CPU把数据加载到显存中渲染所需数据从硬盘中加载到系统内存(RAM)中,又从系统内存中加载到显卡内存(VRAM)中。因为显卡对现存访问速度最快,并且大多数显卡对内存没有访问权限。数据加载到现存中后,系统内存中数据就可以删除,除非其中有数据会用作后续处理,例如网格数据用于碰撞检测则不进行删除。 因为从硬盘到内存的耗时较长,所以不会多次执行这个步骤。设置渲染状态之后...

2019-04-01 13:43:10 277

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除