shader开发_3.渲染管线

shader 以可编程性可分为

固定渲染管线  和  可编程渲染管线

其中固定渲染管线主要是在老旧的显卡上,当时显卡还不具备编程能力

固定的由于都是设置各个功能 打开关闭 所以自定义功能不强

所以现在都是可编程 (固定的就跳过了 )

下面是一个例子

[csharp] view plain copy

print?

  1. Shader "Custom/gudingguanxian" {
  2. Properties {
  3. _Color ("主颜色", Color) = (1,1,1,1)
  4. _MainTex ("基本纹", 2D) = "white" {}
  5. _Shininess("光泽",Range(0.01,1))=0.7
  6. _Emisson("自发光颜",Color)=(0,0,0,0)
  7. _SpecColor("高光颜",Color)=(1,1,1,1)
  8. }
  9. SubShader {
  10. Pass
  11. {
  12. Material
  13. {
  14. Diffuse[_Color]
  15. Ambient[_Color]
  16. Shininess[_Shininess]
  17. Specular[_SpecColor]
  18. Emission[_Emisson]
  19. }
  20. Lighting On
  21. SeparateSpecular On
  22. SetTexture [_MainTex]
  23. {
  24. constantColor[_Color]
  25. Combine texture * primary DOUBLE,texture * constant
  26. }
  27. }
  28. }
  29. FallBack "Diffuse"
  30. }

可以看到  固定渲染管线只要是操作一些内置的属性 然后修改 material 然后混合贴图

时间: 2024-08-04 22:26:07

shader开发_3.渲染管线的相关文章

Unity3d之Shader开发介绍

Shader是为渲染管线中的特定处理阶段提供算法的一段代码.shader是伴随着可编程渲染管线出现的,它的出现使得游戏开发者可以对渲染过程加以控制,拥有更大的创作空间,因此Shader的出现可以看作是实时渲染技术的一次革命. 为了方便游戏开发者使用,Unity提供了大量的内建Shader,包括从最简单的顶点光照效果到高光,法线,反射等游戏中最常用的材质效果. 内建的shader根据应用对象可以分为以下几大类: v  普通Normal Shader Family:用于不透明的对象. v  透明Tr

shader开发_4.Surface shader初探

可编程渲染管线 unity shader==>>Surface shader Surface shader是 unity 对于顶点和片段着色器的一种封装 下面这是一个unity 默认生成的Surface shader Shader "Custom/myshader01" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) =

Shader开发之三大着色器

固定功能管线着色器Fixed Function Shaders 固定功能管线着色器的关键代码一般都在Pass的材质设置Material{}和纹理设置SetTexture{}部分. Shader "Custom/VertexList" { Properties { _Color("Main Color",Color) = (0,1,1,0.5) _SpecColor("Spec Color",Color) = (1,1,1,1) _Emission

1、shader简介、渲染管线

计算机有一块重要的组成部分,就是“显卡”,大家玩游戏的话,肯定是会配置一块好的显卡, 因为3D游戏绘制过程的计算大部分都是由显卡来完成的,而实际上CPU工作的负荷相对是比较低的, 那么显卡到底做了什么呢,它是接受CPU传递给它的一个3D模型,那么显卡会通过一个固定的处理流程之后, 最终会返回给CPU一个2D的图形,中间显卡处理的过程,我们叫它“渲染管线流程” 渲染管线流程细分 1.顶点处理 2.面处理 3.光栅化 4.像素处理 一.顶点处理 (1)定点变换 将每个物体的位置转换为世界坐标 我们知

shader开发_1.shader基本结构

开始unity使用到现在也有将近3年时间,一直停留在客户端层面,现自己也快30了,小罗的名字要改成老罗了,突然客户端不想以前做起来没那么有动力的,也该更进一步的去往深层次的去学一些东西,后续会将所有学习的东西纪录下来,对自己学习的一种鞭策,也希望对这方面的有兴趣的可以有个参考... [csharp] view plain copy print? Shader "demo/demo1" {//名称与路径 Properties {              //可以理解为变量  可在ins

shader开发_5.Surface shader官方例子(注释版本)

上一章unity 默认生成了一个 surface shader 这里来了解一下它 1 Shader "Custom/myshader01" { //shader的路径名称 2 Properties { //资源属性代码块 3 _Color ("Color", Color) = (1,1,1,1) //定义一个纯白不透明 4 _MainTex ("Albedo (RGB)", 2D) = "white" {} //2D贴图(可在

OpenGL ES 2.0 shader开发

1.创建一个shader容器 GLES20.glCreateShader(shaderType); 函数原型为: int glCreateShader (int type) 方法参数: GLES20.GL_VERTEX_SHADER (顶点shader) GLES20.GL_FRAGMENT_SHADER (片元shader) 返回值: 函数将返回一个整形的正整数作为shader容器的id. 2.加载shader的源代码 GLES20.glShaderSource(shader, source)

阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_3 基于注解的自定义再分析

这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部门就是要封装到哪里的数据.基于注解的开发,如何拿到User是最关键的 设计注解和泛型相关的知识 最终得到class的名称 原文地址:https://www.cnblogs.com/wangjunwei/p/11306401.html

shader开发_2.GPU流程

1.首先 放图 图片摘自 GPU与CG语言之阳春白雪于下里巴人 推荐看下这本书 这个就不说了 CPU部分的 引擎  从关键点开始 ===>这一步是处理模型本身的顶点信息 以自己为参照物  (顶点法向量在这 ) ===>可以理解为unity 世界坐标系中 顶点信息 ===>视野坐标  基于unity camera 的信息处理 ===>视锥裁剪 ===>图源装配 (还原出物体的定点与面信息) ===>光栅化(因为有深度信息 所以要计算出那些像素是可以被显示的 那些被覆盖遮挡