• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
lizhengjin
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 2 3 4 5 6 7 8 ··· 19 下一页
2010年12月26日
纹理压缩
摘要: 在OpenGL中使用纹理压缩OpenGL 2008-07-14 18:08:45 阅读25 评论0 字号:大中小订阅 纹理压缩技术已经广泛应用在各种3D游戏之中,它们包括:DXTC(Direct X Texture Compress,DirectX纹理压缩,以S3TC为基础)、S3TC(S3 Texture Compress,S3纹理压缩,仅支持S3显卡)、VTC(Volume Texture Compression,体积纹理压缩)、PTC(Palletized Texture Compression,并行纹理压缩)、VQTC(Vector-Quantization Texture Compr 阅读全文
posted @ 2010-12-26 22:10 lizhengjin 阅读(850) 评论(0) 推荐(0)
vbo
摘要: 根据OpenGL所支持VBO的情况,有三种方式执行渲染(1)支持OpenGL 1.5,使用标准的VBO函数 // 设置顶点缓冲 glGenBuffers(1, &iVertexBuffer); glBindBuffer(GL_ARRAY_BUFFER, iVertexBuffer); glBufferData(GL_ARRAY_BUFFER, sizeof(vertex_list), vertex_list, GL_STATIC_DRAW); // 设置索引缓冲 glGenBuffers(1, &iIndexBuffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFF 阅读全文
posted @ 2010-12-26 20:54 lizhengjin 阅读(6659) 评论(0) 推荐(0)
智能指针
摘要: 最近项目中使用boost库的智能指针,感觉智能指针还是蛮强大的,在此贴出自己学习过程中编写的测试代码,以供其他想了解boost智能指针的朋友参考,有讲得不正确之处欢迎指出讨论。当然,使用boost智能指针首先要编译boost库,具体方法可以网上查询,在此不再赘述。 智能指针能够使C++的开发简单化,主要是它能够自动管理内存的释放,而且能够做更多的事情,即使用智能指针,则可以再代码中new了之后不用delete,智能指针自己会帮助你管理内存资源的释放。 Boost库的智能指针有很多种,下面通过示例代码来说明其中share_ptr的使用方法。 // test.cpp : Defines the e 阅读全文
posted @ 2010-12-26 18:55 lizhengjin 阅读(551) 评论(0) 推荐(1)
2010年12月23日
GPU深度挖掘
摘要: 介绍Frame Buffer Object(FBO)扩展,被推荐用于把数据渲染到纹理对像。相对于其它同类技术,如数据拷贝或交换缓冲区等,使用FBO技术会更高效并且更容易实现。在这篇文章中,我将会快速地讲解一下如何来使用这一扩展,同时会介绍一些在使用过程中我们要注意的地方。学会该技术后,你便可以把一些渲染到纹理(render to texture)的功能加入到你的程序中,实现更快速的运行。建立和OpenGL中的其它对像一样,如纹理对像(texture object), 像素缓冲对像(pixel buffer objects), 顶点缓冲对像(vertex buffer object)等,在使用一 阅读全文
posted @ 2010-12-23 14:17 lizhengjin 阅读(2347) 评论(0) 推荐(0)
2010年12月22日
Ogre碰撞检测,精确到物体网格三角面
摘要: Ogre碰撞检测,精确到物体网格三角面 (2010-06-11 19:14:27) 转载标签: 杂谈分类: MSN搬家 我们课程的期末项目是做一个蚊子吸血的三维游戏。由于蚊子的体积很小,并且蚊子需要在三维场景中穿梭飞行。因此常规的模型包围盒检测便显得有些不足。例如,场景中有一个台灯,从模型的包围盒看,台灯是一个长方体,如果按照这样来做碰撞检测,那么蚊子便无法从台灯的长长的弧形躯干形成的拱桥洞中飞过去,尽管看起来蚊子确实没有撞到台灯。这在现实中是让人无法接受的。 我曾经尝试了几种方法,一种是用从蚊子出发的指向各个方向的几条射线来检测碰撞,另一种是用一个球体包围蚊子,然后检测球体中的物体个数来检 阅读全文
posted @ 2010-12-22 20:17 lizhengjin 阅读(1057) 评论(0) 推荐(0)
Ogre:Animation(Ogre中的动画)
摘要: 在Ogre中Animation是一块非常重要的部分,但是笔者在学习Ogre的动画时遗憾的发现关于Ogre中动画的资料非常的少,Ogre的sample中只有最简单的导入一个骨骼动画的例子,在网上也很少有人谈及,Ogre Wiki中的教程也是边边角角,不知这么重要的部分为什么不做一个全面的tutorial。我从网上的仅有的一些资料和自己的亲自试验总结了一下基本的Ogre动画的使用,当然Ogre的动画模块非常庞大,我总结的只是冰山一角,但是也是最常用的部分。 Ogre的动画框架: 这其中最底层的类叫做Keyframe类,它表示某一个可驱动物的(一个结点、一根骨头、一个顶点。。)的某一个关键帧的状态( 阅读全文
posted @ 2010-12-22 15:20 lizhengjin 阅读(498) 评论(0) 推荐(0)
2010年12月21日
VBO, PBO与FBO
摘要: OpenGL Pixel Buffer Object (PBO)Related Topics: Vertex Buffer Object (VBO), Frame Buffer Object (FBO) Download: pboUnpack.zip, pboPack.zip OverviewCreating PBOMapping PBOExample: Streaming Texture Uploads with PBOExample: Asynchronous Readback with PBOOverview OpenGL PBO OpenGL ARB_pixel_buffer_obje 阅读全文
posted @ 2010-12-21 17:06 lizhengjin 阅读(1538) 评论(0) 推荐(0)
shared_ptr源码解读
摘要: 1 介绍众所周知,auto_ptr由于它的破坏性复制语义,无法满足标准容器对元素的要求,因而不能放在标准容器中;如果我们希望当容器析构时能自动把它容纳的指针元素所指的对象删除时,通常采用一些间接的方式来实现,显得比较繁琐。boost库中提供了一种新型的智能指针 shared_ptr,它解决了在多个指针间共享对象所有权的问题,同时也满足容器对元素的要求,因而可以安全地放入容器中。现在我们可以这样写: vector shared_ptrBook books;books.push_back( shared_ptrBook(new Book()) );2 实现shared_ptr是怎么实 阅读全文
posted @ 2010-12-21 17:04 lizhengjin 阅读(397) 评论(0) 推荐(0)
2010年12月8日
ogre动画
摘要: OGRE 动画收藏动画是由若干静态画面,快速交替显示而成。因人的眼睛会产生视角暂留,对上一个画面的感知还末消失,下一张画面又出现,就会有动的感觉。计算机图形学中的动画也同样遵循着这一本质的原理。只不过不同于传统动画的手绘和拍摄,Ogre图形引擎可以通过自动或半自动的方式实时产生并播放动画图片。不过Ogre本身并不能像人一样了解场景中动画角色动作的具体含义,例如它不能明确的知道什么是抬手或者走路,只能简单的从数学角度处理顶点的位移和旋转。我们可以通过离线工具来生成具体的动画文件,也可以通过实时的运算产生动画,比如可以实时产生摄像机的运行轨迹。Ogre会根据你提供的参数来更新动画,一般来说这个参数 阅读全文
posted @ 2010-12-08 19:55 lizhengjin 阅读(933) 评论(0) 推荐(2)
2010年11月29日
opengl教程
摘要: 大家好。现在因为参加工作的关系,又是长时间没有更新。趁着国庆的空闲,总算是又写出了一课。我感觉入门的知识已经快要介绍完毕,这课之后再有一课,就可以告一段落了。以后我可能会写一些自己在这方面的体会,做一份进阶课程。现在即将放出的是第十二课的内容。首先还是以前课程的连接:第一课,编写第一个OpenGL程序第二课,绘制几何图形第三课,绘制几何图形的一些细节问题第四课,颜色的选择第五课,三维的空间变换第六... 阅读全文
posted @ 2010-11-29 14:38 lizhengjin 阅读(1137) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 19 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3