位置: 编程技术 - 正文

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)

  • 印花税计税依据含不含增值税
  • 行政单位要不要税号
  • 信用代码证过期银行能转账吗
  • 企业房屋折旧年限规定
  • 销售预付卡纳税税率
  • 2021年增值税专用发票红冲发票步骤
  • 长期借款科目核算的是企业的长期借款本金和利息
  • 存在上期留抵税额怎么计算即征即退
  • 电商支付的刷单费怎样做记账凭证?
  • 事业单位过节发东西
  • 进项税转出属于什么科目
  • 个人账户付款可以开公司发票吗
  • 新版增值税开票软件怎么下载
  • 增值税发票委托公司开具
  • 定额发票领用日期
  • 机打发票多久可以作废
  • 交股权印花税需要什么材料
  • 土地增值税计算题及答案解析
  • 个人对公益事业的认识与看法
  • 企业向员工集资利息标准
  • 交强险是不是只要有发票就可以报销
  • 现金预算在企业财务管理中是何地位
  • 委托贷款利息收入怎么开发票
  • 苹果手机怎么看国行还是美版
  • 赊销商品填制什么科目
  • 公司收到项目投资款怎么做账 项目结束后需要退本金
  • 资本成本的组成
  • 附加税享受税收减免的怎么记账
  • 支付劳保用品会计怎么做
  • 怎么安装win7系统u盘
  • 工资及社保外包服务
  • 胆固醇为什么会高
  • win7网络连接在哪里打开
  • 大金中央空调面板图解
  • phppregmatch
  • 使用二氧化碳灭火器时人应该站在什么位置
  • 图卷积神经网络原理
  • 购买电脑固定资产怎么记账
  • windows. location
  • 作为大学生你能为国家安全贡献哪些力量论文
  • 深度计算公式
  • 基于matlab的随机森林回归和交叉验证
  • bzip2命令压缩后无法保存原文件
  • lpstat命令
  • split命令用法
  • java泛型E和T
  • 城镇土地使用税优惠政策
  • 简易计税办法计算的应纳税额可以抵扣吗
  • 法人章两个字的怎么印
  • 向境外股东分配股息预提所得税
  • 企业研发费用资本化相关公司
  • 劳务报酬需要申报个税吗
  • 什么是稳岗补贴呢
  • 企业所得税A类年报怎么申报
  • 应交税费的账务处理一般纳税人
  • 发票冲红重开,重开时是按新税率还是旧税率?
  • 加班打车费用计入什么科目
  • 公司账户转账给个人要交税吗
  • 机物料消耗计入什么费用
  • 免息分期付款怎么办理
  • 抵扣认证的发票怎么做账
  • 有形资产的例子
  • 购买方退货的会计分录怎么写
  • 劳务派遣服务怎么做会计分录
  • 五险一金怎么用呢
  • MySql insert插入操作的3个小技巧分享
  • mysql如何优化sql查询
  • SQL Server 2008 到底需要使用哪些端口?
  • mysql数据库随机取数据
  • 64位VMware虚拟机系统打不开怎么办?
  • 怎么备份和恢复goodnotes中的数据
  • win10系统进程
  • linux ll不能用
  • mac safari浏览器网页不能正常显示
  • islp2sta.exe - islp2sta是什么进程 有什么作用
  • perl字符串长度函数
  • jq复制元素
  • shell脚本运行linux命令
  • 批处理 读文件
  • 北京税务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设