• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >游戏开发 > shader编程使用的语言

shader编程使用的语言

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了shader编程语言,shader语言,unity shader 语言,shader编程,unity3d shader编程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: shader编程使用的语言
描述:

unityShaderCG

新手,最近在看shader这章,有几点疑惑
1.shader编程到底使用的是那种语言,GLSL?HLSL?CG?这三种语言来历什么的不需要解释,看了好多遍了,只是想知道unity中使用的是哪种。
2.几个术语之间的关系不懂,shaderLab到底是什么,有的书上说是语言,但真正将语法的时候却在将CG,那么CG和shaderLab到底是怎么回事?
3.cg语言最新版本为3.1,当前已不再被积极开发与支持是什么意思?这门语言完蛋了?那还有必要学么?


解决方案1:

unity 用CG 来写的,你不用纠结这个
平时我们写着色器都是 顶点着色器 + 片段着色器 这种直接方式 我假设叫做原生CG着色器,着色器书本上也都是这么介绍的,但是问题,这两种方式实现一些效果例如反光,例如模糊都还可以 ,而且在UNITY 完全可以使用,但问题来了,你自己写的一个着色器举例来说,一个红色的盒子,你写好了没问题可以用,但是你放到场景中不会有阴影,不会受到灯光影响 ,这些你也完全可以继续写,但是很复杂,特别是阴影,即使你觉得复杂也没问题,你也可以写,你写的阴影算法能用,也就是说你的红色的盒子有投射阴影的功能了,但你放到场景中还是没有阴影,为什么,因为你的地面的着色器是unity自带的,不是你写的,他是接收阴影的物体,也就是说unity 自带的默认着色器,和你的着色器之间不能相互投影 ,而且还没法解决,至少简单的方式没有,除非你整个场景全部都用你自己写的 所以就有了surf 着色器 也就是 shardLab ,说白了他会自动生成和unity 默认着色器一样的阴影算法,你写的红色盒子就能和unity 自带的东西进行投影了,而且还有光照可以直接选择,漫反射等等. 如果你有兴趣去了解的话你就会知道 shardLab 写出来的东西,会被自动转成CG着色器 就相当于封装了一层东西,让你更方便使用罢了 也就是说说到底着色器还是 CG原生的着色器再工作,只是写的时候用unity的方式去写(表面着色器),它自动帮你增加其余繁琐的部分,具体细节你自己去研究,我也只知道这么多了
第三个问题我不知道,但是我想说的是,稍微学一段时间你就会知道了,这个东西用什么语言真不重要, 但是你学CG,或是其他语言 学的再好,没有经验没有算法什么都没有,你要是个数学家或者是图形学专家,你随便学两天就能写出好东西,因为CG其实语言上包含的东西很少,又不像C++什么的,只要会逻辑,剩下的全部是你绞尽脑汁用数学公式来达成效果了


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • shader编程使用的语言

相关文章

  • 2022-04-30Unity 3D Scrollbar控件
  • 2022-04-30Unity 3D游戏发布到WEB平台
  • 2017-06-05 分享《Cocos2D-X游戏开发技术精解(第2版)》电子版
  • 2017-06-05 cocos2d编译问题,求大神解惑,谢谢!
  • 2017-06-05 OGRE源码分析
  • 2017-06-05 在it行业里,程序员做哪方面开发收入最高?
  • 2022-04-30Unity 3D如何创建地形?
  • 2017-06-05 关于shader贴图叠加的一个疑问~~大神~救我~
  • 2017-06-05 求助在rpg游戏中A寻路如何处理与其他角色的碰撞
  • 2017-06-05 新手问题,请高手相助!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • html5现在是否可以进行成熟的web游戏开发?跟Flash相比有没有什么优劣势?
    • unity不同场景间怎么传值
    • cocos2d-js性功能问题,求大虾指点!!!
    • Unity 3D刚体(Rigidbody)
    • 从2x转到3x上面,遇到到两个让人抓狂的问题!求高手解答!
    • 谁有杨丰盛cocos2d-x的视频
    • 求助大侠们!!数据库引擎找不到输入表或查询'User_The'
    • ITweenRotation这个怎么用啊
    • unity54角色控制器怎么不能导入?
    • u3d渲染深度调整很有用。记录下。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有