GitLab CI在windows下的部署
准备
该文章主要是以unity为例,unity项目需要在打包机上准备一下几个工具
GitBash
GitLab_runner
Gradle
JDK
如果是其他项目,只需要保存基本的几个工具就可以
Gitbash
GitLab_runner
具体的安装方式就不说了,相信需要看的奆奆都是会的
环境
JAVA_HOME
android打包需要的环境,具体安装可以自行google
ANDROID_HOME
unity在导出和打包的时候需要的sdk工具
GRADLE_HOME
gradle打包是使用的工具
如...
Shader--Lighting(1)
经过前面的几波操作,我们有了一个比较基本的shader了,但是认真看看,发先,alpha没有,重要的是光照也没有;alpha没有,我们能忍,但光照没有的话,我们就不能忍了!
本来是想先讲讲光照模型的,但发现,不少人(比如我)挺讨厌先理论的。所以我们直接以一种光照模型讲!
首先要说明的是unity把光照的数据及封装好的函数都放置在Lighting.cginc,所以们需要使用光照的时候,别忘了导入该头文件
// 引入头文件 一定要放在CGPROGRAM\ENDCG之间
#include "Lighting.cginc"
光的反射,相信大家在初中已经学过,我这里就post上图
通过上图,我们知道法线和光线的入射角度是必须的,那么这两个数据要怎么获取?
Normal
...
unity资源加载方式比较
unity的资源加载方式介绍
先声明,本文仅只限于unity2017.4
unity2017里提供了比较多且完善的资源加载方式,,在本文里,就不比较从网络远程加载的问题,仅只是比较本地的加载,其中牵扯到压缩格式等。本文会有点冗余!
unity提供的几种压缩格式
uncompressed
顾名思义,就是没有对assetbundle进行压缩处理。没有经过压缩的包体积最大,但是访问速度最快。
LZMA
在默认情况下,打包生成的AssetBundle都会被压缩。在U3D中,AssetBundle的标准压缩格式便是LZMA(LZMA是一种序列化流文件),因此在默认情况下,打出的AssetBundle包处于LZMA格式的压缩状态,在使用AssetBundle前需要先...
shader--Texture(1)
前面两章说了一些基本的内容,我们做Shader,怎么可能烧的了贴图纹理呢?所以这章我们来讲讲纹理的使用。
首先我们像之前声明Color那样去声明和绑定一个纹理
// 属性
Properties{
// 颜色
_Color("Main Color", Color) = (1,1,1,1)
// 主纹理
_MainTex("Main Texture", 2D) = "white"{}
}
...
// 颜色
float4 _Color;
// 纹理
sampler2D _MainTex;
如此的时候,我们已经绑定完成了,那么我们要怎么处理Vert和Frag呢?
这里说一下Vert和Frag到底是干嘛的吧
Vertext是顶点着色器,GPU把进过处理后...
shader--Vertex(2)
继上一篇的后续
上一章我们讲了Vertex和Fragment那么这两者有什么关系呢?
这里就牵扯到了渲染管线,但我们才刚开始,说那么深奥的知识,反而会觉得难!我们就大概说一下就好。
首先是计算机应用程序通过IO把Mesh,贴图之类的加载到内存,之后传递给GPU,GPU拿到后,经过一系列处理,提取出需要的数据递交给Vertex,Vertex处理完后,GPU有处理了一下,然后把数据传入Fragment,Fragment还给GPU后,GPU处理成了我们看到的图形。(嗯,暂时这么理解吧,讲细的话,以我的能力,你懵我也懵!)大概可以先理解成一下的样子。
还记得上一章中的float4 vert(float4 v:POSITION) :SV_POSITION吗?我们发现这里决然只...
shader--Vertex(1)
声明
这里先讲Vertex/Fragment,至于ShaderLab,有时间在整理。
本人是自己乱学的shader,属野鸡流,没有什么系统地学,但应该比较适合还懵懵的新人吧!
直接正文
最简单的Shader
这里不说渲染管线的流程,什么几何阶段都不理,直接上手Shader;
Shader "WDFramework/VertShader"
{
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
// 声明指定vertex 和fragment的方法
#pragma vert...
书籍推荐(持续更新)
这里只是罗列一些我个人看过,觉得不错的书,包括正在看的(至少看了一半的书才敢标在这里)
编程
《Unix编程艺术》
《软件框架设计的艺术》
《我的第一本算法书》(黑书太可怕了,还是这书比较轻松适合入门)
《图解机器学习》
社会、人类
《人类简史》[以色列]尤瓦尔·赫拉利
《国富论》亚当斯密
《中国哲学简史》
《哲学不思议》
数理化
《牛津通识读本:数学》
Shader知识点
前言
补:这是好久前的笔记了!发上去记录一下,后面整理一下shader的知识再放出来。
当我们对电脑进行任何操作,我们都会给电脑下达一组指令,而这一组指令我们称之为program。而且用于在屏幕上画阴影、图像之类东西的program,称之为着色器。所以着色器也是是组指令,但其并不是在cpu上运行,而是在GPU上运行的。
GPU
我们可以简单地看作是主算机用于进行图形操作或图像处理的一个处理单元或专门电路
CPU和GPU的差别
CPU的核心数一般就是我们所说的几核几核,而GPU却是由成千上万的GPU unit处理核心组成的
CPU的核心中串行操作的,而GPU和核心是并行操作的或同时操作的
Shader的类型
根据shader的功能,我们大...
159 post articles, 20 pages.