位置: 编程技术 - 正文

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)

  • 固定资产清理亏损的账务处理
  • 税友的财务软件叫什么
  • 应付销售方代垫的运费计入什么科目
  • 所得税汇算清缴时间期限
  • 第一季度盈利第二季度亏损全年盈利
  • 没有计提坏账准备的应收帐款坏帐帐务处理
  • 购销企业
  • 科目余额表期初借贷一定要相等吗
  • 银行缴纳印花税的范围
  • 关税完税价格包含关税吗
  • 个体工商户转为个人独资企业
  • 公司自用房屋怎样交税
  • 企业银行密码器
  • 股东以股抵债是否合法
  • 出纳汇错款会计怎么做账
  • 未代扣代缴个税的滞纳金与处罚规定
  • 增值税小规模纳税人减免增值税政策
  • 实际出资和名义出资
  • 对于长期没发票的预付款怎么处理?
  • 固定资产计算折旧时用扣除减值吗
  • macos 关闭屏幕
  • windows11怎么设置默认应用
  • win10高级功能
  • mysql的字段类型有哪些
  • linux中free命令详解
  • win10专业版如何改为家庭版
  • 单反镜头直径越大是不是就越好
  • 会计科目怎么调账
  • 从奎雷英山口看到的 Leum na Luirginn湖和Cleat湖,英国斯凯岛 (© Sebastian Wasek/Sime/eStock Photo)
  • 银装素裹的意思和造句
  • 应收票据的账务处理讲解
  • Yii2 rbac权限控制之菜单menu实例教程
  • php多维数组转一维数组
  • 质保金 销售费用
  • framework怎么用
  • 不跳槽怎么形容
  • ChatGPT进阶-提示词中文版
  • php批量替换字符串
  • 应收账款与主营业务收入的比率
  • 收到汇算清缴后怎么处理
  • 员工辞退补偿金扣个税吗
  • 当月开出的销项票一定要当月抵扣吗
  • 财报层次和认定层次
  • phpcms怎么用
  • 未实际支付的成本能否列支
  • 个人独资企业所得税申报流程
  • 主营业务收入净额在哪个报表里面
  • 财务管理税后利息费用都包含什么
  • 发出商品 会计科目
  • 资金退回怎么记账
  • 人民币支付结算系统CIPS
  • 购买原材料保险费分录
  • 交通运输业营改增
  • 互联网企业招商手册
  • 年末结余资金
  • 土地闲置费属于政府性基金收入
  • 怎么用sql脚本创建数据库
  • sqlserver管理工具有哪些
  • win10 Realtek HD Audio更新失败怎么办 win10关闭UAC解决Realtek HD Audio更新失败
  • win10预览版21277
  • win7连接xp共享
  • 无法登录所请求的数据库 用户sa登录失败
  • Win10 Build 10586.494稳定版更新修复内容以及KB3172985补丁下载地址
  • win7 0x80070002处理方法
  • linux 怎么样
  • win7打开文件总是询问
  • 在linux系统中,用来存在系统所需
  • cocos2dx4.0教程
  • java的理解
  • django orm sqlalchemy
  • opengl示例
  • jquery实现移动端
  • Adding iAd in your App from Unity3d
  • python多进程多线程协程
  • 选择排序图解过程
  • 微软python视频教程
  • 进口设备免关税政策融资费
  • 年度营业账簿印章怎么写
  • 受让企业与转让企业区别
  • 国外寄回来的奶粉被海关查到剪开,快递公司怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设