最新文章列表

探索未知种族之osg类生物---呼吸分解之更新循环三

补充 当然细心的你会发现,_scene->updateSceneGraph(*_updateVisitor)中还有一个imagePager::UpdateSceneGraph()还没有进行讲解,这是因为imagePager和DatabasePager是可以对比这理解的,这里imagePager的主要功能就是加载纹理图片文件。但是imagePager只是负责在另一个线程中加载图片,而没有da ...
u014177758 评论(0) 有385人浏览 2019-03-08 12:43

探索未知种族之osg类生物---呼吸分解之更新循环二

_scene->updateSceneGraph(*_updateVisitor); 我们用了前面4节才刚刚算是完成对DatabasePager::DatabaseThread::run()函数的探究,也就是了解了osg究竟是怎么完成对数据的加载的。那么我们现在要回到DatabasePager::updateSceneGraph的工作中,它是在osgViewer::Viewer:: u ...
u014177758 评论(0) 有333人浏览 2019-03-07 13:42

osg探究补充:osg数据加载原理(插件机制简介)

前言 我们接着昨天的继续,昨天主要是讲解了DatabasePager类中的特定的成员变量以及run函数的第一部分,对所要请求加载的数据按照是否是网络数据进行分类加载模式。今天我们就看看数据是怎们加载到osg环境中的。 还是在DatabasePager::DatabaseThread::run()函数中,首先我们保证了databaseRequest是线程安全的,因为run()函数是创建一个唯 ...
u014177758 评论(0) 有426人浏览 2019-03-06 13:27

osg探究补充:DatabasePager类简介

简介 DatabasePager类,也就是常说的数据库分页技术,简单来说,就是在进行数据库查找时,有可能满足条件的数据很多,为了提高相应速度我们进行数 ...
u014177758 评论(0) 有349人浏览 2019-03-05 11:24

osg探究补充:Node::accept(NodeVisitor& nv)及NodeVisitor简介

前言 在前几节中,我自己觉得讲的比较粗糙,因为实在是时间上不是很充足,今天我想弥补一下,希望不是亡羊补牢。我们在osgViewer::Viewer::eventTraversal()函数中经常看到这么两个函数:camera->accept(*_eventVisitor);以及getSceneData()->accept(*_eventVisitor);今天我们第一步就是要介绍一下这两 ...
u014177758 评论(0) 有805人浏览 2019-03-04 14:26

探索未知种族之osg类生物---呼吸分解之更新循环一

上节总结 前几天我们大体上介绍完成了osg的事件循环的介绍,总结一下osg的时间循环主要就是得到平台(windows)的所有消息,并遍历所有的node的eventCallback,并对他们进行处理。接下来我们就要进入osg的另一个维持生命的循环---更新循环。 更新循环 OSG 更新循环的作用与事件回调有类似之处:由专门的访问器对象_updateVisitor 的负 责场景图形更新遍历; ...
u014177758 评论(0) 有262人浏览 2019-03-04 11:34

探索未知种族之osg类生物---呼吸分解之事件循环三

那我们就开始处理这些事件中得到的所有的交互事件,首先我们要判断这些事件是否包含osg的退出事件,那什么情况下会触发这个退出事件呢?如果您运行过osg中example中的小例子的,聪明的你一定就会发现当按下esc时就会退出osg。所以osg中默认的退出事件就是由esc触发的。当然我们也可以通过ViewerBase::setQuitEventSetsDone 设置是否允许按下某个键之后直接退出这种 ...
u014177758 评论(0) 有286人浏览 2019-03-02 22:55

探索未知种族之osg类生物---呼吸分解之事件循环二

VPM矩阵 1、V 表示摄像机的观察矩阵(View Matrix),它的作用是把对象从世界坐标系变换到摄像机坐标系。因此,对于世界坐标系下的坐标值 worldCoord(x0, y0, z0),如果希望使用观察矩阵 VM 将其变换为摄像机相对坐标系下的坐标值 localCoord(x’, y’, z’),则有: localCoord = worldCoord * VM 此外,观察矩阵可以 ...
u014177758 评论(0) 有344人浏览 2019-03-01 12:41

探索未知种族之osg类生物---呼吸分解之事件循环一

事件循环和更新循环 终于到了我们嘴里经常念叨的事件循环、更新循环以及渲染循环了。首先我们来区分一下事件循环和渲染循环,他们两个首先是两个不同顺序执行的过程,我们有时候会用到任意node的updateCallback函数,这个就是在更新循环的时候遍历所有的node来调用updateCallback函数的;而事件循环是与用户操作和操作系统事件想关联的,以及调用我们设置的事件回调(EventCal ...
u014177758 评论(0) 有278人浏览 2019-02-28 17:30

探索未知种族之osg类生物---呼吸分解之advance

回顾 我们用了两节的内容才堪堪讲解完ViewerBase::frame()函数中调用的realize()---Viewer:: realize()函数。我们简单的总结就是Viewer:: realize()主要是使GraphicsContext处于可用状态,并且启动相关的图形线程。 ViewerBase::frame()函数解读到这里,我们完成了osg生物第一次尝试呼吸所需要的所有器官的初 ...
u014177758 评论(0) 有343人浏览 2019-02-27 17:08

探索未知种族之osg类生物---器官初始化四

上一节我们对完成了对osg生物内部非常重要器官graphicsContext的初始化工作。这样就可保证我们场景中至少有一个graphicContext存在,不至于刚出生就面临夭折。我们根据上一节中osg代码的研究也就知道了,在我们正常使用osg时,是怎么完成对camera以及graphicContext的创建的了。 回到Viewer::realize()中我们继续向下看,现在我们对osg ...
u014177758 评论(0) 有988人浏览 2019-02-26 12:41

探索未知种族之osg类生物---器官初始化三

当判断到viewer中没有一个graphicContext可用时,osg就会默认的进行一次对viewer的实现操作,这样可以保证osg以后可以安心的在屏幕上进行作画。那我们就来看看这个osgViewer::Viewer::realize()函数到底具备什么样神奇的功能。 osgViewer::Viewer::realize() osgViewer::Viewer::realize()的最 ...
u014177758 评论(0) 有295人浏览 2019-02-25 13:37

探索未知种族之osg类生物---器官初始化一

  欢迎大家来我的新家看一看3wwang个人博客-记录走过的技术之路  
u014177758 评论(0) 有307人浏览 2019-02-23 17:55

探索未知种族之osg类生物---起源

任何程序都是有生命的,是生命就需要呼吸。例如普通的windows程序,当运行完main()函数后,就需要进入消息循环,来监听用户的各种操作,以便做出及时的回应。这样的每次循环就像生命的每次呼吸,来维持生命体征。 osg的程序不仅仅需要消息循环来监听用户的鼠标、键盘等操作,同时也得具备了渲染循环。当然随着我们的对osg的深入了解会发现,osg的事件监听和渲染循环是串行的。但是当我们把osg与M ...
u014177758 评论(0) 有737人浏览 2019-02-22 13:37

影响网页渲染的关键!

原文链接:http://www.gbtags.com/gb/share/5599.htm 经常有站长、开发者、运维疑惑:为什么我们的后台服务器很快,但是用户要看网页里面的内容却需要很长时 ...
kvhur 评论(0) 有567人浏览 2015-06-29 14:33

Android性能系列-渲染篇

Google近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。 渲染篇 1) Why Rendering Performance Matters 现在有不少App为了达到很华丽的视觉效果,会需要在界面上层叠很多的视图组件, ...
MyEyeOfJava 评论(0) 有834人浏览 2015-05-29 16:25

输出后,Macbook上的效果和iPad上的效果相差很远

http://game.ceeger.com/forum/read.php?tid=2078&page=e 各位大侠,我是一个Unity的新人,最近在做一个汽车的demo。但,在Macbook上的效果和输出到iPad后的效果相差非常大,详细见下图。 1,请问,是不是我选用了iOS平台不支持的shader呢? 2,如果我不开反锯齿,效果会很烂,如果我开了8倍反锯齿,在iPad上的效果会不 ...
狼之独步 评论(0) 有591人浏览 2015-02-05 21:09

Ext 获取render后的值

// var rows = grid.getSelectionModel().getSelections();// 获取所有选中行 var index = store.indexOf(rows[0]); var name = grid.getView().getCell(index, 2).childNodes[0].innerHTML; // 得到名称 // ...
Lixh1986 评论(0) 有1450人浏览 2013-08-24 17:33

GPU渲染流水线

       任务:完成3D模型到图像渲染工作。常用图形学API(Rirect3D、OpenGL)的渲染被分为几个可以并行处理的部分,这些部分可以被GPU中渲染流水线的 ...
2012到2014 评论(0) 有1157人浏览 2013-04-18 14:51

使用IE8访问页面中,如何强制使用IE模式渲染?

背景:       最近在开发新的页面,考虑到IE6已经基本淘汰,IE7也是换汤不换药,所以只打算兼容IE8以上的浏览器。       微软在IE8中,增加了浏览器模式的配置,支持IE7,IE8兼容性视图,以及IE8三种模式。   问题:       新的页面打开的时候,控件布局都乱了。用F12打开“开发人员工具”,发现默认使用的时IE8兼容性视图,修改IE8模式就好了。但是我们不能让 ...
xiaoyu1985ban 评论(0) 有7201人浏览 2013-02-27 13:28

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics