位置: 编程技术 - 正文

opengl光照 Blinn-Phone模型与实现(opengl光照效果)

编辑:rootadmin

推荐整理分享opengl光照 Blinn-Phone模型与实现(opengl光照效果),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl光照效果,opengl光照纹理三个球,opengl光照算法,opengl光照模型,opengl光照设置,opengl光照效果,opengl光照效果,opengl光照模型,内容如对您有帮助,希望把文章链接给更多的朋友!

这里介绍的方法,考察从光源发出的光线,这些光线与物体表面相互作用进行建模,这个方法和光线追踪类似,但是只考虑光源与表面之间的一次相互作用。

Phone 模型

phone模型如图所示,使用图示的l,n,r,v四个向量来计算任意点p得颜色值: l是光源入射的方向反向 n是p点得法线方向 r是反射光线方向 v是观察者所在方向,主要考察光源与材质的三种相互作用 环境光反射,漫反射和镜面反射

环境光 物体表面所有处的环境光强度相同

漫反射 一个理想的漫反射表面把光线向所有方向均匀散射,因此,这样的表面在所有观察者看来亮度都一样,不过反射光线的强度既依赖于材质,也依赖于光源相对表面的位置。一个物体的表面是粗糙的话,就会发生漫反射,理想的漫反射表面是如此粗糙,以至于各个方向的反射光强度都相等,称为lambert表面,计算公式如下 Colorlambert=Lcos(n,l) L是入射光强和漫反射系数的乘积,n,l是两个向量,含义之前已介绍

opengl光照 Blinn-Phone模型与实现(opengl光照效果)

镜面反射

使用了环境光和漫反射后,物体表面已经有明暗变化,但是缺少光泽,图像中缺少的是高光,高光的颜色通常与环境光与满反射的颜色不同,就是光源的颜色,而且,所有得反射光线都在一个方向上,观察者看到的光线强度取决于理想反射器光线反射方向r和观察者方向v的夹角ϕ Colorspec=Lcosα(r,l) 其中,α是高光系数,α无限大代表镜面

改进的Phone模型(Blinn-Phone模型)

在phone模型中,计算镜面光成分需要计算r向量,计算r*v夹角 现在用h和n夹角代替。 h=l+v|l+v| n和h的夹角是r和v的夹角的一半,个人简单证明,当5个向量共面时 cosψ=nl+v|l+v|=n∗l+n∗v|l+v|=cosθ+cos(θ+ϕ)|l+v| 2cos2ψ−1=(cosθ+cos(θ+ϕ))2−1−cos(2θ+ϕ)1+cos(2θ+ϕ) 经过漫长化简路之后可得,上式中分子为cosψ(1+cos(2θ+ϕ)) 即证明cos2ψ=cosϕ 这样就无需计算向量r,不过采用另外一个高光系数

我使用opengl进行测试, 使用系数: light 0 5 1(位置) 0.6 0.3 0.0 1.0(颜色) ambient 0.2 0.2 0.2 1 diffuse 0.2 0.2 0.2 1 specular 1 1 1 1(三者皆为颜色) shininess (高光系数) 效果如下: 我时在fragment shader中进行的光照计算, 代码如下

vertex shader如下;

深入理解OpenGL拾取模式(OpenGL Picking) 深入理解OpenGL拾取模式(OpenGLPicking)转自

如何使用Android中的OpenGL ES媒体效果 Android的媒体效果框架允许开发者可以很容易的应用多种令人印象深刻的视觉效果到照片或视频之上。作为这个媒体效果的框架,它使用GPU来处理图片处

Nehe第六章纹理映射 纹理映射的时候,使用了AUX_RGBImageRec结构体和auxDIBImageLoad函数,这两个是位于glaux头文件中的,glaux是gl的辅助类,并不是opengl中自带的,所以系统中可

标签: opengl光照效果

本文链接地址:https://www.jiuchutong.com/biancheng/369457.html 转载请保留说明!

上一篇:OpenGL二十面体及多次细分成球体(正二十面体怎么建模)

下一篇:深入理解OpenGL拾取模式(OpenGL Picking)(opengl learning)

  • 计提本月所得税费用怎么算
  • 关联企业间借款利息扣除规定
  • 应交增值税已交税金是什么意思
  • 隔月发票退回应该如何操作
  • 领用自产产品用于职工食堂
  • 电子税务局怎么注册
  • 税盘锁了还能报税吗
  • 金税盘地区编号淄博
  • 境外投资子公司审计报告人民币汇率
  • 税收优惠形式包括
  • 暂估发票到账出入库单要填吗
  • 公允价值变动损益借贷方向
  • 出口退税销项大于进项,需要交税吗
  • 应付股东款可以结转实收资本吗
  • 逾期包装物押金消费税会计分录
  • 企业利用个体户走账
  • 补交企业所得税怎么填申报表
  • 增值税发票地址变更后开原来的地址能用吗
  • 统借统还如何缴纳增值税
  • 一般纳税人企业要交哪些税
  • 企业所得税是什么意思需要交不需要
  • 未取得房产证的房子如何迁户口
  • 赠与合同公证收费标准
  • 子公司之间交易抵消
  • mac怎么共享文件
  • 银行对公账户收款码
  • 雄性和雌性的匹配
  • 员工安置费标准出台
  • 软件开发中的业务一般指什么
  • 企业产房屋拆迁
  • 备抵法会计分录
  • php设置中文
  • 自学前端,你必做的事
  • 关于幼儿园国培的要求和建议
  • 端午节发现金怎么说
  • 小规模收到成本发票分录
  • 小微企业所得税税率2.5% 10% 25%
  • java的范式
  • react高阶组件
  • 长期股权投资初始投资成本的确定
  • 出租车发票可以重新打印吗
  • 去年的滞纳金没有入账怎么处理
  • 预收款销售商品如何与业务员对账
  • 工程材料发票备注要求
  • 读取注册表失败,请检查注册表
  • 无形资产的有效期限与法定保护期限相等
  • 企业各种盘盈和盘亏分录
  • 申报高新技术企业专利有什么要求
  • 暂估的进项税额怎么抵扣
  • 工业企业增值税税率
  • 商业企业费用的计算方法
  • mysql 数据库
  • sql server自动生成id
  • win81蓝屏重启故障
  • Ubuntu上安装anaconda
  • macos桌面
  • inc是什么软件
  • win7使用率
  • win7双显示器设置
  • win10屏幕刷新率只有60
  • 让人吃惊的成语有哪些
  • kinect unity开发
  • mingw 编译
  • glrotatef函数
  • python如何判断一个变量的类型
  • 安卓开发者有多少
  • js的select
  • node.js调用c
  • 点击按钮显示
  • Unity 管理www类访问的写法
  • js调用css动画
  • js中表单
  • jQuery实现table中的tr上下移动并保持序号不变的实例代码
  • python程序讲解
  • 陕西省国家税务总局班子成员
  • 宜兴税务局长郁岚
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 公司税务认证
  • 合肥高新公共事务管理有限公司
  • 税务党课主题或党课题目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设