位置: 编程技术 - 正文

OpenGL cube map方式实现的环境贴图●如何设置相机(opengl clamp)

编辑:rootadmin

推荐整理分享OpenGL cube map方式实现的环境贴图●如何设置相机(opengl clamp),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl bloom,opengl cullface,opengl clamp,opengl batch,opengl cullface,opengl sample,opengl context for format,opengl sampler,内容如对您有帮助,希望把文章链接给更多的朋友!

对cube map有一些了解的朋友都知道,如果要在物体表面实现镜面反射的效果,需要在物体的中心设置一个相机,沿&#;X,-X,&#;Y,-Y,&#;Z,-Z六个方向分别取景,渲染到cube map的六个子texture中。

设置相机的时候,一般都不会弄错相机的朝向,但是,估计很多人搞不清楚相机的UP方向。

网络上的资料很少论及这个问题,因此,决定自己做一个简单的小实验,彻底搞清楚这个问题。为此,准备了下面的6张图片,分别充当cube map的六个子texture。

使用cube map方式将它们渲染到一个正方体表面,观察它们的方向,使用的vertex shader代码如下:

fragment shader代码如下 我们要观察正方体的六个面,但是每次只能看到它的三个面。

为了观察&#;X,&#;Y,&#;Z面,我们需要剔除物体的背面,只渲染正面:

渲染的结果如下:

为了观察-X,-Y,-Z面,我们需要剔除物体的正面,只渲染背面:

渲染结果如下:OpenGL cube map方式实现的环境贴图●如何设置相机(opengl clamp)

结论如下,(使用OpenGL的cube map)生成环境贴图的时候:

①当相机朝向&#;X,-X,&#;Z,-Z方向的时候,其UP方向都是&#;Y方向;

②当相机朝向&#;Y方向的时候,其UP方向是-Z方向

③当相机朝向-Y方向的时候,其UP方向是&#;Z方向

其实&#;得注意的只是顶部和底部的&#;Y和-Y两个方向。有一个比较傻瓜的做法是:渲染&#;Z方向之后,就让相机后仰°,就可以渲染&#;Y方向了;渲染&#;Y方向之后,就让相机前倾°,就可以渲染-Y方向了。

以下图片可以帮助大家更好地理解cube map各个子texture之间的关系:

最后,提个醒,使用glTexImage2D()或glTexStorage2D()为GL_TEXTURE_CUBE_MAP_POSITIVE_X、GL_TEXTURE_CUBE_MAP_NEGATIVE_X、GL_TEXTURE_CUBE_MAP_POSITIVE_Y...分配空间的时候,width和height必须相等,也就是说图片的长和宽必须相等,不然就会返回错误。因为这个问题,笔者耽搁了两天,差点唾弃自己的intel核显

CodeBlocks下的freeglut环境配置(一)(附图文) 记得我以前调配环境的时候,查阅各种博客,各种英文官方文档,未能得其要义,真可谓目断长途也,一望一回远,而今蓦然回首,才知道是如此的简

在android使用OPENGL总结 Android为OpenGLES支持,提供GLSurfaceView组件,这个组件用于显示3D图形。GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Renderer来完成SurfaceView

opengl示例代码在vs上编译不过 官方解释,需要在includeglut.h前#ifndefGLUT_DISABLE_ATEXIT_HACK#defineGLUT_DISABLE_ATEXIT_HACK#endif

标签: opengl clamp

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

上一篇:我的第二个opengl程序(我的第二个姐姐用英语怎么说)

下一篇:CodeBlocks下的freeglut环境配置(一)(附图文)(codeblocks视频教程)

  • 销售商品结转成本的记账凭证
  • 实收资本变动额怎么算
  • 送货运杂费属于什么费用
  • 车辆补贴的钱最快多久到账
  • 贴现的费用怎么入账
  • 小规模变更为一般纳税人流程
  • 政府减免税款如何账务处理
  • 小规模纳税人开票税率
  • 减资账务处理基准日 会计视野
  • 肉联厂销售模式
  • 商业保险可以抵扣增值税吗
  • 门面入股做生意
  • 去年购进的货物今年才收到发票
  • 外贸企业人民币结算
  • 一般纳税人开3个点的票不能抵扣进项
  • 所得税营业成本包括哪些
  • 营改增后房产税计税依据及计算方式
  • 普通征税差额征税减按征税
  • 旅游休闲用地
  • 实际发生坏账的账务处理分录
  • 契税和增值税的计税依据
  • 赔偿给客户的钱抵扣货款的会计分录
  • 1697511149
  • 苹果电脑重装系统无法连接服务器
  • 红字增值税专用发票是什么
  • 如何把文件夹加密码锁手机
  • php+mysql项目实战教程
  • 苹果手机清理内存怎么清理微信内存
  • 佣金手续费开什么发票
  • 房地产企业土地增值税预缴
  • 停车缴费怎么交
  • 煤炭贸易公司账务大全
  • 企业缴纳保险的比例
  • phpscanf
  • 研发费用如何加计扣除何时申报
  • 企业所得税减免20%按5%征收
  • 房地产企业土地增值税预缴计税依据
  • element级联动态加载
  • mask rcnn优点
  • 哪些收据可以入账且可以税前抵扣
  • 连锁店会计的工作内容
  • 坏账准备检查情况表怎么填
  • 未抵扣增值税需结转吗
  • 企业注销时还有进项税
  • 企业每月应交哪几种税费
  • 注册资金只能增加不能减少吗
  • 购买的手机可以退货吗
  • 年底暂估成本有风险吗
  • 预收账款转主营业务收入怎么描述
  • 运费对方出怎么处理
  • 政府补助怎么记账
  • 纸质承兑汇票怎么兑现步骤
  • 收到赞助费如何开发票
  • 高速公路车辆通行卡没还怎么办
  • 购入土地使用权用于建造厂房分录
  • 购买原材料例题
  • 垫付的资金
  • 注册工贸公司业务范围
  • 会计凭证装订的心得体会
  • 什么是速动比率的概念
  • 工业增值税怎么算
  • 六款常见的墨水
  • win7更改win10系统要怎么更改
  • win101909玩dnf怎么样
  • peafsearch是什么程序
  • win7注册表文件位置
  • es6中的class常见使用场景
  • 学习ExtJS fit布局使用说明
  • jquery animation
  • android四大组件生命周期
  • 笔记本等待网络准备好
  • 移动端一般用什么布局
  • 编写一个bash脚本程序,用for循环实现
  • jquery 点击按钮
  • 安卓网络管理类app
  • pythonstl
  • 北京亦庄开发区属于哪个区
  • 乌市社保缴费一个月多少钱
  • 一般纳税人租赁费税率
  • 海关进口增值税怎么认证抵扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设