cocos2D-X源码分析之从cocos2D-X学习OpenGL(16)----基本光照

       cocos引擎目前已经支持3d功能,之前在3d教程中介绍了cocos2d-x的3d功能中的光照,但是只是粗略的介绍了四种光源,因为光照的重要性和复杂性,这个系列文章会分两篇介绍光照,本篇介绍光照的基础-ADS模型,下一篇详细介绍几种光源。

       ADS模型是光照的基本模型,包括Ambient(环境光),Diffuse(漫反射)和Specular(点光源)三种光照在物体上的效果是这样的:


       三种光照共同影响物体,模拟出一般的光照效果,被称作ADS模型,也叫Phong模型。

       环境光是一个来自远处的光源,它会让物体显示一些颜色,全局照明的原理非常简单,它用光的颜色乘以一个很小的常量ambient因子,然后乘以物体颜色,最后得到环境光照射物体之后的颜色。

       在cocos2d-x中,在Mesh类(网格,3d模型渲染的最小单元)中以uniform的方式向着色器传递光照的参数,处理环境光的时候,是直接传递环境光颜色,但是在创建环境光的时候要设置一个强度值,在传递前,会用光强乘以颜色再传,在应用程序中处理好计算可以减少着色器的计算量,是个提高效率的好方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值