位置: 编程技术 - 正文

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视频教程)

  • 专利年费滞纳金计入什么科目
  • 牲畜资产科目包括哪些
  • 税控系统维护费怎么做会计分录
  • 差旅费津贴怎么报税
  • 车船税放在哪个科目核算
  • 新成立公司交税
  • 将固定资产转给母公司属于债务重组吗
  • 职工福利费会计核算
  • 财产保险合同的被保险人自其知道
  • 开办费用怎么确定摊销年限及财务处理分析
  • 房地产销售土地增值税纳税人减免申请核准表
  • 跨年的费用需要冲减
  • 营改增的会计处理及其对财务的影响
  • 货款打了未收到发票但是公司倒闭了怎么办?
  • 非经营性费用包括哪些内容
  • 利息费用需要取消吗
  • 房产税要来了!租金也要交,最高达到12%
  • 既销售货物又提供劳务例题
  • 员工受伤报销
  • 六险一金指的是哪六险哪一金
  • 污水处理费谁来收
  • 金税盘基本信息设置
  • 非货币性资产交换差额计入什么科目
  • 跨年如何冲减预提费用?
  • 企业所得税的工资薪金包括社保
  • 现金日记账余额为零要怎么填
  • 个人所得税专项扣除夫妻双方都填吗?
  • 克罗地亚佩列沙茨
  • 支付广告费会计怎么做账
  • 股份支付费用是股权激励成本吗?
  • 录制权限怎么打开
  • 公司付物业费没开发票
  • php的项目
  • 企业所得税税前扣除凭证管理办法
  • php中imagecreatefromjpeg
  • 手把手教你如何套路男神
  • 原材料按计划成本核算例题
  • php登录流程
  • php如何入门
  • 织梦cms怎么样
  • phpcms怎么样
  • 管家婆实收资本显示负数什么原因
  • 应收账款收不回来
  • elementui组件有哪些
  • 企业合并属于非企业吗
  • 企业亏损了
  • 个人所得税申报退税能退多少
  • 土地使用权转让合法吗
  • 季报业务活动表怎么做
  • 合伙企业年底如何做账
  • 融资租赁固定资产折旧年限
  • 固定资产置换存货
  • 预付账款货物到了之后怎么入账
  • 自己开发建造的房屋
  • 金三税务系统怎样修改财务人员跟办税人?
  • 员工预支工资规则
  • 期末留抵税额会计分录
  • 跨国公司国内外发展现状
  • sqlserver数据库合并方法
  • mysql为什么很受大家青睐
  • win7系统摄像头打不开
  • vmware中安装centos7
  • win7安装方法ghost
  • Node.js中的事件循环是什么意思
  • css怎么更换图片
  • eventlistener js
  • 简略说明本岗位最高风险的防范措施和现场处置方案
  • windows下为啥没有观看电视的软件
  • node服务器部署
  • shell脚本 ftp
  • python元祖内置函数
  • python怎么用数组
  • 获取intent传递的数据
  • 编写javascript代码
  • jquery打开文件对话框
  • 建筑工程施工企业资质
  • 电池涂料消费税问题
  • 住宅区地下车位产权归属
  • 国税开票系统怎么增行
  • 人社局要求社保补缴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设