OSG_王锐《最长的一帧》
世界上时间最长的中文歌曲

世界上时间最长的中文歌曲世界上时间最长的中文歌曲你知道是什么吗,结果一定让你大跌眼镜,下面就让小编带大家去了解一下吧。
世界上时间最长的中文歌曲大世界吉尼斯权威认证"世界最长中文歌曲"《陕西木有啥》时长为26分钟,分为2013(试水)版和2016(正式版)两个版本。
目前2016(正式版)正在制作当中,预估2016年年中首发。
《陕西木有啥》2013版由曲江一影董事长雷锁甲创意发起,全国十强导演阿齐亲任总监制及MV总导演,刘刚(玄乐队成员)词曲编创作、刘毅全程艺人统筹的大型音乐MV。
歌曲总长度达到26分钟,歌词近5100字,2013年12获得上海大世界基尼斯权威认证,获得世界最长中文歌曲,创下世界最长最多的歌曲长度和歌词记录,歌曲汇聚了近百位陕西籍名人,演唱由职业歌手、演员、选秀艺人、乐队组合、公众名人、陕西主持人等组成庞大的演唱团队,阵容及规模堪称一绝!出品机构曲江一影。
《陕西木有啥》2016版依然由曲江一影董事长雷锁甲创意发起,具体的音乐制作、编舞及MV拍摄团队目前出品方未给出具体人员,暂时不祥。
已知的部分运营团队人员有:项目执行总监钱铮、宣发张宇、策划张姣、后期团队莫志佳、摄制团队郭志鹏、外联王雷等。
正式版的《陕西木有啥》不但歌词进行了更改,所有的拍摄也将进行实景拍摄,艺人团队也做了大范围调整,主要以陕西籍艺人为主,包括各个行业的名人和领袖。
世界上时间最长的曲子美国作曲家约翰·凯奇的管风琴曲《Organ2/ASLSP》,曲子总长是639年!2004年7月5日,这个曲子又奏出了两个音符。
演出3年来总共演奏了5个音符,而且还要再演636年世界上最悲伤的歌世界上最悲伤的歌是《忧郁的星期天》(英语:Gloomy Sunday,匈牙利语:Szomorú Vasárnap),也译作《黑色的星期天》是匈牙利自学成才的作曲家赖热·谢赖什(RezsőSeress,1899-1968年)谱写于1933年的一支歌曲。
最长的一帧

好了,在开始第一天的行程之前,请先打开您最惯用的编程工具吧:VisualStudio? CodeBlocks?UltraEdit?SourceInsight?Emacs?Vim?或者只是附件里那个制作低劣的记事 本 … … 总 之 请 打 开 它 们 , 打 开 OpenSceneGraph-2.6.0 的 源 代 码 文 件 夹 , 打 开
new osgViewer::GraphicsWindowWin32::WindowData(hWnd); traits->x = 0; traits->y = 0; …… traits->inheritedWindowData = windata; osg::GraphicsContext* gc = osg::GraphicsContext::createGraphicsContext(traits.get()); Camera* camera = viewer.getCamera(); camera->setGraphicsContext(gc); …… viewer.setCamera(camera); 这个过程虽然比较繁杂,但是顺序还是十分清楚的:首先设置嵌入窗口的特性(Traits), 例如 X、Y 位置,宽度和高度,以及父窗口的句柄(inheritedWindowData);然后根据特性 的设置创建一个新的图形设备上下文(GraphicsContext),将其赋予场景所用的摄像机。而 我们在 getContexts 函数中所要获取的,也许就包括这样一个用户建立的 GraphicsContext 设 备。
_cameraManipulator->init(*initEvent, *this); 从变量的名称可以猜测出_eventQueue 的功能,它用于储存该视景器的事件队列。OSG 中代表事件的类是 osgGA::GUIEventAdapter,它可以用于表达各种类型的鼠标、键盘、触压 笔和窗口事件。在用户程序中,我们往往通过继承 osgGA::GUIEventHandler 类,并重写 handle 函数的方法,获取实时的鼠标/键盘输入,并进而实现相应的用户代码(参见 osgkeyboardmouse)。 _eventQueue 除了保存一个 GUIEventAdapter 的链表之外,还提供了一系列对链表及其 元素的操作函数,这其中,createEvent 函数的作用是分配和返回一个新的 GUIEventAdapter 事件的指针。 随后,这个新事件的类型被指定为 FRAME 事件,即每帧都会触发的一个事件。 那么,_cameraManipulator 呢?没错,它就是视景器中所用的场景漫游器的实例。通常 我 们 都 会 使 用 setCameraManipulator 来 设 置 这 个 变 量 的 内 容 , 例 如 轨 迹 球 漫 游 器 (TrackballManipulator)可以使用鼠标拖动来观察场景,而驾驶漫游器(DriveManipulator) 则使用类似于汽车驾驶的效果来实现场景的漫游。 上面的代码将新创建的 FRAME 事件和 Viewer 对象本身传递给_cameraManipulator 的 init 函数,不同的漫游器(如 TrackballManipulator、DriveManipulator)会重写各自的 init 函 数,实现自己所需的初始化工作。如果读者希望自己编写一个场景的漫游器,那么覆写并使 用 osgGA::MatrixManipulator::init 就可以灵活地初始化自定义漫游器的功能了,它的调用时 机就在这里。 那么,回到 viewerInit 函数……很好,这次似乎没有更多的内容了。没想到一个短短的 函数竟然包含了那么多的信息,看来草率地阅读还真是使不得。
第二十届“新作文杯”放胆作文征集活动小学中高年级组获奖名单

第二十届“新作文杯”放胆作文征集活动小学中高年级组获奖名单作者:来源:《新作文·小学中高年级版》2021年第08期天津市王淑雅《昆虫的世界》林卓翼《狼王》李婉晴《托梦》河北省刘丰源《我拥有超能力》张润梓《抓住机会,取得成功》吕嘉乐《掉饭菜也会遗传吗》纪清怡《考不好,我不怕》刘淼淼《千古知音最难觅》山东省张蕴涵《张氏起居注》刘朵啦《古老的“新月”》上海市陳可馨《一匹特立独行的狼》余沁瑄《我的乐园》河南省田光耀《变身记》陈言《我“飘”了》刘珂鑫《少女心老爸》江西省郭衍天《最美在诗意》吉林省刘芳含《小巷的糖味》山西省马润城《黄河岸边掉落的小燕子》李沛融《奶猫成长记》王浩宇《秀丽峨眉山》王怡芳《森林运动会》武占轩《东周那点事儿》王海荣《梦中奇遇》李锦鹏《我的“民警”梦》苗跃醴《阿呆的心愿》尹宇祺《醋泡鸡蛋》段昱帆《老鼠开会》次玄雨《开心的比赛》刘汉卿《我的心爱之物》王柯《全军出“鸡”》曹中健《我的笔袋——“大肚皮”》孟瓒《请叫我“马云”》李超儒《我家的蟹爪兰》杜俞晓《父亲的爱》王京磊《都是“比赛”惹的祸》南智焱《虚惊一场》赵泽《“龟兔赛跑”的悲剧》杨梓隽《爱挑食的弟弟》杨智誉《捉蚊趣事》王陆扬《我和孙悟空交朋友》卞瑞茜《奇妙无穷的新世界》常芳源《滚滚长江东逝水》陈周浩宇《飞翔吧!羽毛球》段炎辛《小奶猫之“大闹天宫”》梁楚涵《盲盒买买买》张昕玥《我家老五》张雪凌《动物从哪里来》张贻萱《永恒的气概》韩佳岑《快乐的课间十分钟》张淼淼《我的乐园》任雪辰《有你同行》王涵钰《妈妈的一丝微笑》张田筠畅《和书声一起长大》金子皓《爆竹声中辞旧岁》武敬越《斯人如遇》阎宇航《爱的自白》赵磊《“辣”还是“不辣”》白渊中《我家睡觉摆pose》刘雨泽《心的音符》王邦权《夜晚大树上的故事》江苏省桂子晟《人类的地球》王威《一棵糖果树》张烨炜《对峙水瓶》刘博明《大吃特吃》邵语宸《火星探秘》付子萱《月下》王博雅《假如我成为了风》王佳琪《蜘蛛》朱思翰《太空日记》王苏凡《回到三国》姚一诺《盼》顾苓蓝《我的大怪兽朋友》孙晨《夜游太湖》吴耘宽《抢凳子比赛》王孜宸《流淌在水里的童年》孙博溢《通往外婆家的路》邢元正《我和孙悟空过一天》明森《微风花飘香》杨妙心《塑料姐妹花》黄煜婷《大鱼》殷嘉奕《狼酋》黄千栩《那温暖的姿态》胡方意《提起那件事,我就害怕》季芮可《老街的回忆》包易蘅《野兔必安》王雨泽《秋之记忆》万轩圳《遇见古诗》余希杰《干饭大战》付明杰《灭尘大战》郑涵予《致祥林嫂——读〈祝福〉有感》陈奕橙《沙漠》巫姗《你是一抹巅峰之翠》范雅煊《假如我是一粒灰尘》张子涵《第一次走夜路》戈天弋《选择》褚雨鑫《冬天去看海》韩易菠《写给语文的情书》洪杨轩《鸿门宴》顾耘瑞《红色彼岸花》董清扬《橡皮》张睿朗《古时英雄》徐永程《曼巴回忆录——科比逝世一周年》浙江省陆祖煜《我和刘邦的一天》傅铭煊《亚运环游记》郑易恒《那一幕》陈俊毅《日落即景》陈键桥《鱼缸大战》刘思妍《走“亲戚”》梁宸睿《辣!辣!辣!》池郑阳《思考人生的枕头》周子皓《较——量》李晟律《问世间怒为何物》章彤彤《过而能改,善莫大焉》沈洲闻《暑假至味是清欢》王沄朵《刘姥姥进“大龙湾”》林晓熙《幸福都是奋斗出来的》张诗茹《雪糕日记》胡梦晨《黑夜的放飞》金熙超《第四罐雪花酥的诱惑》匡鸿羽《我心中的红船精神》鲍威尔《痛》梁玎宁《外婆的“豆腐菜单”》刘方舟《秘密宫殿来电》刘卓乐《今天,我当店员》沈弋皓《二十年后回家乡》盛洛洛《银河的歌》王嘉逸《温州,诗意的黄昏》王文祺《和乐元宵》吴睿珉《“三”游大明山》吴欣贻《疯狂的追星人》余喆一《“三国”鼎立》林俊豪《皮影戏》张淇存《雪豹“独眼”》吴天畅《被温暖照亮》吴诗琪《女孩的槐花树》徐子涵《当我醒来时……》林徐晃《元素魔法》王君元《一个悲伤的故事》钟煦谦《塘栖古镇》汪子豪《至味在人间之故乡的粉蒸排骨》薛惠文《佛魔戒》吴紫妍《月季》刘秦豪《光》周纯尔《窗外的香樟树》王瑾玥《弟弟的烦恼》陈茂可《旅行记》张诗晨《我家的大忙人》阮玺安《春天里的梦》四川省李雅楠《烦恼的星期天》刘羽《雨》穆梁友《鲸落》向宇豪《铁路》唐子篷《陈先生的闹钟》湖北省陈铠涛《多余的墨囊》王柏寓《通往未来的船》赵紫琪《迟迟》郭慧玲《偷偷钻出的小豆子》劳小迪《改变》黄子桐《一棵自大的树》黎若依《苹果历险记》许可欣《铿锵三人行》高一诺《邮票》湖南省王君达《向左向右》刘兴成《历史之路》王婧怡《你,屋檐上那一抹绿》李文杰《吾乃李文杰》广西省银煜筱《“蟑螂”和“螳螂”》陕西省马诗岚《谎话商店》甘肃省肖自祺《平山湖大峡谷一日游》张嘉钰《会飞的木屋》福建省林一然《牛牛喜相聚》刘铠鸣《放炮》王伟铭《海之趣》庄泽煊《坑人的听写大赛》吴峻熙《妈妈的另类兼职》郑暄然《今日头条》崔世博《当暴力来敲门》王俊涛《我家的噪音交响曲》倪翰霖《芭蕉雨》林煜涵《不开玩笑记》林家琦《鱼的交响乐》林灵颖《我们班的“不速之客”》林廷润《睡神三绝》林宜煊《换来一个春天》谢昊衡《好先生》陈育铠《珍藏》广东省冯怡然《不起眼的杜鹃花》徐墨宸《念》叶舒懿《答卷》洪瑜曼《红楼一梦》柯可儿《且待日出》钟泽晖《粤北的乡村年味》钟妮可《听,花开了》胡清之《沙场大战》蔡秉宸《一把雨伞》陈奕安《如何看待我的小升初》黄世谕《漫画同学之睿煜其人》黄世璋《我们班的“太乙真人”》戚诗灵《故乡最美是哪里》张景铭《不能呼吸的滋味,真难受》朱君琳《除夕不眠之夜》旷舒怡《我家的小院子》谭于成《那一刻,我长大了》钟柏辰《给刘老师的一封信》王梓涵《貂蝉与“刁馋”》李伟静《荷包蛋大战》李泳妍《作文,想说爱你不容易》朱恺《我们班的臭美垚》李艺哲《妈妈,我想对您说》张皓轩《我登上了开普勒22b星球》张子涵《选择困难症》王彬《湖南人眼中的辣椒》彭怡燃《故乡的味道》黄凡懿《沙湾古镇》刘熙瑶《假如食物会说话》廖芊君《别致的秋》徐鸿轩《藏在右臂的爱》王思睿《活出自己》劉青楚《我是一个稻草人》彭铠泓《树皮精灵》优秀指导奖丁冬英陈松萍徐绍英魏婷李卓陈洁张亮何红唐玉平赵春松邓晓凡庄秋玲王敏金晓琴王佩青杨健赵卷卷郭月徐鑫鲁奕然唐彩云田永凤蔡海萍童骏飞王红梅徐亦晗张婧张敏张晗张艳林肖小枚谢梦娜欧泳楷赵妙英张志锋梁应雄陈梦乔廖燕玲刘楚炎沈春雪林巧铃赖文莲钟金卿吴印涛孙鹏张明辉冯冰黄静文刘燕平刘晓莉张志平李苑桃李婉玲范冬霞刘克飞沈锡红陈杰杜玮顾正宇左焰杨志强赵幼华叶美凤姜楚楚李娜苏明丽林燕梁英钱春玲陈文怡夏红梅贾祝君黄红波蒋晨婷钱春玲史琳娟汪婷梅玲沈晓燕童天博王芳邹晓来黄重阳黄晓琳陈迪丽张娜娜张颖蔡伶俐樊小波李文琴潘兆艳刘兴华武小艳吴秀珍朱光余宗宝黄忠欧秀英周兰张宸罗尧虹优秀组织奖浙江省绍兴市新昌作文实验学校浙江省杭州市耕读缘培训学校浙江省诸暨市海亮教育集团海亮小学浙江省乐清市黄忠文学工作室江苏省苏州市星洋学校江苏省涟水小荷作文江苏省无锡市梅村实验小学江苏省苏州市实验小学教育集团吴江明珠学校江苏省泰州市巨程学校山西省朔州市亮子老师阅读与写作工作室山西省方山县城内小学山西省太原市书声琅琅时光岛湖北省武汉市中华小作家班湖南省麦田格教育集团广东省深圳市博雅斋作文馆广东省佛山市顺德区大良实验小学福建省泉州市小种子学趣馆河北省邢台市信都区今日学培训学校有限公司吴老师作文工作室四川省彭州市实验小学。
在信息时代保持清醒作文人物素材事例

在信息时代保持清醒作文人物素材事例全文共5篇示例,供读者参考在信息时代保持清醒作文人物素材事例1多年前,比利时有个小木匠,儿时他误吞过缝衣针,误食过硫酸,不幸被砖块砸破过头,还曾摔倒在点燃的炉火上……经历过一次次生死劫,能活下来已是奇迹,但这些都没阻止他对音乐的执迷。
在做木工活的间隙,他总喜欢捣弄各式各样的长笛和单簧管。
21岁,他用铜做成抛物线状的圆锥管体,再安装上按键和哨头,自制成一件独特的乐器,吹奏出了曼妙的乐声。
他希望把它推广给世人,于是只身来到巴黎,挨家挨户地向乐器商吹奏。
可是没人瞧得起它。
九年过去,他费尽苦心推介,始终无人问津。
一次偶然的机会,音乐家柏辽兹被这只铜管独特的声音吸引,特意谱写了曲子,推荐他去音乐会演出。
梦寐以求的机会突然降临,他欣喜地坐上马车赶往音乐会现场,哪料到不幸又一次不期而至,那管乐器被颠簸着摔下车,摔成了两半儿。
望着断裂开的铜管,他沮丧到极点。
眼前不觉地映现出曾遭遇过的磨难和奚落,他懊恼地拾起两半管子,暗自责问道:难道就这样轻易地放弃来之不易的机会吗?他不甘心就此失望,于是决定试试破碎的铜管能否发出声音。
他试着将断裂的圆管合在一起,然后用力地吹气。
谢天谢地,虽然需要耗费更大的心力,但总算还能发出声音,奏出婉转的音乐。
他镇定地抱紧破损的乐器,来不及粘合就仓促地登上舞台,一手托住圆管,另一手摁住摔断的半截,一刻也不敢放开。
悠扬的乐声响起,他再没有办法翻乐谱,只能凭记忆演奏,有几次忘了谱子,就干脆持续吹长音,直到想起乐符再继续……尽管演奏的是破碎圆管,尽管他发挥得不够完美,但显然观众已被那柔和优美的声音所征服,沉浸其中。
演出结束后,响起如鸣般的掌声,他激动地弯腰致谢,半截圆管滑落到地面,这时人们才看清,原来那是一管破损的乐器。
即使身处绝境,也不轻言放弃,哪怕是仅握着一只摔碎的铜管。
人们为他坚韧的性格所感动,更被铜管天籁般的乐声所折服,这种音色美妙的乐器很快流传开来,成为乐坛的新宠,而他也被巴黎音乐学院聘请为教授。
基于OSG的作业仿真设计

基于OSG的作业仿真设计【摘要】随着我国各项经济的发展,人们对主要用于工程建设的——挖掘机的自动化程度、安全性要求越来越高,传统的工作模式已经无法适应。
如用于垃圾清理场地、酿酒厂的挖掘机,由于其工作环境的特殊性,仅仅依靠摄像头作为操作人员的操作依据已经远远不够了,此时就需要一种不需要摄像头,又可以为操作人员提供操作依据的仿真技术。
本文以VS2008为开发平台,结合OpenSceneGraph(以下简称OSG)技术实现挖掘机的作业过程仿真功能。
本文以液式挖掘机为研究对象,构造了详细的挖掘机三维模型,采用一定的方法完成场景组织工作,接下来利用更新、回调技术完成挖掘机作业的仿真。
【关键词】OSG;作业仿真;更新回调1.挖掘机作业仿真系统体系框架挖掘机作业仿真系统的构建可以分以下几步完成:(1)对挖掘机作业环境进行建模,其中主要包括挖掘机、物料及其周围环境等对象的建模。
在建模过程中要根据对象类型的特性,选择不同的方法进行分别建模,然后再利用编写的加载模型的函数将其导入到虚拟场景中,最后再根据系统预设的每个模型的位置完成真个虚拟场景组织构建。
(2)获取挖掘机作业情况的运行参数,根据这些实际运动参数,实时绘制场景图形,实现对挖掘机作业过程的仿真。
现场挖掘机作业情况的运行参数,如回转支撑、铲斗以及履带等的位置、运行速度、方向等,可以通过软硬件系统的交互接口获取。
(3)通过以上两步就可以实现对挖掘机作业过程的仿真,若要进一步提高虚拟场景的渲染速度,就需要对场景内的不同模型进行合理的组织和管理。
另外为了增强虚拟场景的逼真程度,还需要采用碰撞检测等技术来达到此效果。
根据以上分析,绘制了作业仿真设计的体系框架,如图1所示。
图1 系统框架架构图2.挖掘机作业环境建模挖掘机作业环境建模就是利用相关技术生产和真实环境形状相似的虚拟场景,这个是实现作业过程的仿真的非常重要任务。
虚拟环境一般由三部分构成[3]:内容、几何特性以及动态特性。
什么是OSG

自成立以来,OSG中文论坛的发展迅速,从最初的数十人发展到如今超过8000名注册用户的规模,在国内开发者中间积累了相当的知名度,并逐步受到国外OSG核心开发者的重视和好评。相信作为OSG在亚洲推广的一个重要组成部分,osgChina的发展也会逐渐稳步前进,为更多开发者们提供免费的服务和信息交流的渠道,并进一步为这个成熟的三维渲染引擎的发展做出应用的贡献。
2008年初,中国唯一的OpenSceneGraph官方网站镜像和开发者社区:osgChina正式宣布成立,它的目的是为全中国的OSG爱好者和开发者们提供一个舒适、准确、高效的技术交流平台,使初学者不致迷失于庞大的OSG系统架构中,使有志于OSG开发和虚拟显示行业的朋友能够及时地发表自己的看法和作品,或者寻求合作、招聘和求职。
OpenSceneGraph的网站地址为:/
osgChina中文社区论坛的地址如下:/
(撰稿:申闫春 王锐)
中国励志书籍推荐

中国励志书籍推荐中国励志书籍1::《世界上最伟大的励志书》(珍藏本)作者:李津出版社:中央编译出版社出版日期: 2005-06-01内容简介:《世界上最伟大的励志书》是一部鼓舞人心、激励志向的巨巨着。
饮食数十位励志大师的成功思想及其经典着作中的枋心内容,适合所有沿着知识、品格和职责的道路努力提升自我品质的人们。
从积极的心态到一生的次本,从讲话的艺术到人性的弱点,成功学大师将告诉你怎样面对人生、把握人生才能拥有美好的未来。
也会帮你全面了解自己的性格对于人生的规划和发展将起到哪些作用。
看到自己性格中的优点,并充分利用这些长人炎处,发挥清能,获得成功!在大师们的指导下,还会让你养成良好的习惯,积极思考、持之以恒。
中国励志书籍2:.《平凡的世界》中国作家路遥的毕生呕心沥血之作。
小说以陕北黄土高原双水村孙、田、金三家的命运为中心,反映了从“文革”后期到改革初期广阔的社会面貌。
路遥先生后来因为癌症逝世,这部小说却激励许许多多中国的青年。
中国励志书籍3::《毛泽东传》你了解毛泽东吗?你知道的是一个真实的毛泽东,还是一个被符号化的毛泽东?毛泽东,永远是一个毁誉参半的人物,但不可否认的是,毛泽东在1949年以前,以卓越的思想和至高的境界,完成了世界上最不可能的事情——推翻了中国几千年的旧世界,让天地变色,让日月换颜。
从 16岁离开封闭的韶山冲,到1949年站在天安门前,你知道毛泽东经历了多少曲折?搜狐CEO张朝阳说:从做事的角度而言,毛泽东排名中国千古第一。
中国励志书籍4:从你的全世界路过:让所有人心动的故事作者:张嘉佳编辑推荐:20XX年亚马逊年度图书第一名。
《从你的全世界路过》是微博上最会写故事的人张嘉佳的一部短篇小说集,超4亿读者争相阅读的故事。
书中讲述了发生在我们身边的很多爱情故事,有念念不忘的美好,有爱而不得的疼痛,有生离死别的遗憾,有一再错过的宿命,也有喧嚣之后的回归和温暖。
总有那么一些瞬间,你会在张嘉佳的故事里看到自己,也总有那么一些瞬间,你会因为这些故事,而想到某个人,某段爱情。
《穿过月亮的旅行》电影影评

《穿过月亮的旅行》电影影评在看到预告之时,我便对这部电影充满了极为热切的期待。
怀着这份期待,我先是阅读了原著小说。
小说的笔触极为梦幻,深刻地反映出了那个特定时代的爱情观念,这也使得我对电影的期待值被进一步拉高。
于是,我在一大早就前往影院,以表达对这部作品的支持。
然而,不得不指出的是,这部电影的海报字体与《我和我的 XX》系列如出一辙,每次看到时总会令人有些出戏。
从影片呈现来看,导演似乎有意将其塑造成复古风格,剪辑方面也总是在卡点,仿佛剪辑师急于炫技一般,但这并非是哔哩哔哩剪辑大赛,整体节奏并不恰当,大部分配乐也并不合适,完全没有我在阅读小说时所想象的那种画面慢而柔和的感觉。
唯有最后王锐吹奏的《小丑》相对符合当时的场景,那两个可怜的小丑形象跃然眼前。
但王锐仅是一个高中毕业生,他能吹出这样的古典乐,似乎有些不符合人物设定。
影片中有一处情节给我留下的感触尤为深刻,那便是王锐购买站台票后被请下火车,饿着肚子狼吞虎咽地吃完方便面,委屈地流着眼泪,真可谓是“贫贱夫妻百事哀”。
而最后他们哭得那般厉害,着实让人有些不解,毕竟又不是生离死别,仅仅只是一场失败的团聚,这样的安排似乎有些刻意。
电影把这两个人塑造得过于憨态可掬了。
阅读小说时,感觉这个故事仿若《麦琪的礼物》,主要侧重点在于夫妻之间双向奔赴的爱情,但主创团队在这方面显然用心不足,反倒让观众更多地注意到了绿皮火车上的世间百态。
在选角方面,感觉是较为合适的,张子枫和胡先煦在一定程度上符合人物设定,但男女主之间却没什么 CP 感,或许这便是熟人之间的尴尬吧。
两人的演技都不够出色,相对而言张子枫的表演稍显突出一些,但依然会让观众感到出戏,致使他们之间的感情难以让观众信服。
或许是我最初的期待值过高了,在看完小说和预告后便一直在思考导演会如何去拍摄这部小说。
然而实际观看时却发现,这位导演几乎是完全照搬小说来进行拍摄,毫无惊喜可言,也没有体现出应有的影像价值,甚至还不如小说留给读者的想象空间广阔。
“拼命三娘”于蕾:从做文案起步,拼_到“宝藏级”春晚总导演

“于蕾出生在辽宁沈阳一个知识酷爱阅读。
于蕾考入北京广播学院(今中,上大学期间就经常在于蕾应聘到央视财经频道,著名主持人李咏的妻子哈—国学底子深写出的文案时常令人惊干工作很拼,被同事戏称为“拼2003年7月哈文筹备综艺节目邀请于蕾参与,于蕾成了哈文从道具到制片,从导演助《咏乐汇》,让于蕾的职业生一个新层面:在节目中担任哈文担任总导演,于蕾11被任命为央视春晚历史上首位女性总撰稿。
她不敢怠慢,花了大量时间,把之前的所有春晚都看了一遍才开始动笔。
从12月下旬的第一次审核到最终直播,于蕾经常不眠不休,修改文案20余稿,终于完成了整台晚会的台本设计和串词撰稿。
特别是跨年零点倒计时的串场词,以优美的文笔和绝佳的意境打动了无数观众,很多人看罢在网上留言点赞:跟着央视学写作文吧!但因为个别节目没把握好时间,龙年春晚进行到一半时,导演组发现实际进度比计划多耗时132秒。
由于每个节目都有精确时长,前一个演超时了,就得从后面的节目中把相应的时间“抠”出来,这会引发连锁反应,导致一系列变化。
于蕾不忍心打乱演员们的演出节奏,灵机一动,决定从主持人串场词中“抠”时间。
她临时删减了接下来的串词,尽管那是她通宵达旦、几易其稿才创作出来的。
就这样,她不露痕迹地救了场。
龙年春晚最终以7.7亿观众收看的优异成绩,被认定为当年全球收看人数最多的晚会,被载入吉尼斯世界纪录。
因为工作出色,之后连续3年,于蕾不仅继续担任央视春晚总撰稿人,还担任了歌舞类节目的导演。
而真正让于蕾火出圈的,还是她一手打造的央视文博探索节目《国家宝藏》。
《国家宝藏》火出圈,沉睡的文物“活”起来2015年,于蕾计划借助故宫博物院等大型平台,制作一档文博类节目,名字就叫《国家宝藏》。
“因为普通人对于文物的认知,大多还停留在收藏层面,只关注文物的真伪,值多少钱。
我想用节目告诉大家,文物最重要的价值是它背后的历史内涵和人文精神。
”这是于蕾做这档栏目的初衷。
当时,国内拍摄的有关博物馆的纪录片不少,但普通观众对这个题材仍有很大的距离感。
《最长的一天》恍如历史纪录片

1944年夏,第二次世界大战在欧洲发生了急剧变化。
英美盟军决定开辟第二战场,从5月下旬起,在英国南部集结了300万军队、4000艘军舰、11000架飞机、10000名空降兵。
6月5日,在盟军最高指挥官艾森豪威尔将军的指挥下,在诺曼底展开了迄今为止世界上规模最大的一次海上登陆作战,代号为“霸王行动”。
盟军以一首《秋之歌》作为暗语,下达行动命令,在6月6日(D日)一天之内使诺曼底登陆获得全线成功。
《最长的一天》以纪实手法对这次历史性的大决战作了逼真再现,影片的手法平实,让整个事件在观众眼前重现,加上黑白的画质,有些镜头恍如历史纪录片一般。
美军第82 空降师一名士兵的降落伞被挂在教堂上之后,电影以他的视角展现了地面上的激烈战斗《最长的一天》根据科尼芮尔斯?瑞恩的同名著作改编,为了创作这部20万字的作品,作者在德国250家媒体刊登广告寻找D日的幸存者,亲自采访了700人,耗时10年写成了这部经典的战争纪实作品。
这本书出版的次年,福克斯公司决定将其搬上银幕,同样轰动全球。
这部长达2小时50分钟的影片拍摄投入为1000万美元,成为《辛德勒的名单》之前最昂贵的黑白片。
该片由美、英、法、联邦德国四国参加拍摄。
据估计,美国、英国和法国为协助本片拍摄动用了共23000名军人,当时法国虽身陷阿尔及利亚战争的泥潭,但还是派出了1000名突击队员。
影片的全部外景在英国南部、英吉利海峡与法国的诺曼底实地拍摄。
在清理奥克角附近的海滩时,剧组居然挖出一辆隐藏在沙滩之下参加当年诺曼底登陆的坦克,经过清洗和维修之后,这辆坦克后来出现在片中的英国坦克部队中。
而在拍摄登陆画面时,监制达里尔?F?扎努克面临着棘手的难题,他苦于无法找到当时德军的梅塞施密特式战斗机和英军的“喷火”式战斗机。
几经寻找,他终于发现西班牙空军有两架梅塞施密特战斗机,比利时空军的两架“喷火”战斗机甚至还在服役,于是将这4架战斗机租借下来。
编导着重抓住夜间空降与登陆攻击两个中心情节进行细腻描绘,既表现战斗场面的浩大壮观,又表现战争的惨烈;既表现盟军的英勇精神,也表现德军的顽强死守,由此造成尖锐激烈的矛盾冲突,使画面形成强烈的视觉冲击力,也描绘了战场的真实,使影片卓尔不凡,被认为是以传统手法正面表现二战的盖棺之作。
基于OSGEarth的城市三维场景构建

基于OSGEarth的城市三维场景构建吴小东;许捍卫【摘要】基于OSGEarth开源工程,采用LOD与分页、动态调度等技术,研究了三维地形、影像、地物组织、调度及融合方式;并以泰州市为例,实现了基于OSGEarth城市三维场景的构建,达到良好的效果,为以后的中小城市“数字城市”建设提供了空间框架.%In this paper, on a basis of the OSGEarth open-source project, we researched on 3D terrain, images, objects organization, scheduling and fusion techniques, carried out by the use of the technologies of LOD (Levels of detail), paging and dynamic scheduling and so forth. Taking Taizhou for example, the construction of urban 3D scene with good results was acquired by using OSGEarth, which provided a spatial frame for future construction of small and medium-sized digital cities.【期刊名称】《地理空间信息》【年(卷),期】2013(011)002【总页数】4页(P107-110)【关键词】OSGEarth;三维场景;泰州【作者】吴小东;许捍卫【作者单位】河海大学地球科学与工程学院,江苏南京210098【正文语种】中文【中图分类】P208城市三维场景构建是“数字城市”建设[1]的关键技术之一。
面对TB级以上的海量数据,虽然随着计算机硬件技术的发展,在一定程度上缓解了大规模数据渲染的问题,但是仍然无法从根本上解决“有限的系统资源与无限大的数据量的矛盾”。
基于OSG的数控起重机远程虚拟监控系统开发

基于OSG的数控起重机远程虚拟监控系统开发发布时间:2022-08-02T01:44:54.594Z 来源:《科学与技术》2022年3月6期作者:马进火谢喜佳李福斌陈丕概[导读] 数控起重机有时需要在辐射、有毒气体等严重危害人身健康的工业环境下作业,马进火、谢喜佳、李福斌、陈丕概南宁轨道交通集团有限责任公司,广西南宁,530000摘要:数控起重机有时需要在辐射、有毒气体等严重危害人身健康的工业环境下作业,因此研制具有远程作业状态监控及现场沉浸感的可视化作业监控系统,对数控起重机的精确定位和远程操作具有重要意义。
采用开源渲染引擎OSG,本文提出了一种远程虚拟监控系统的设计方案,结合三维虚拟现实、运动模拟、远程同步、虚拟场景构建等技术,开发了一个具有远程虚拟监控功能的数控起重机远程虚拟控制系统。
该系统能够采集起重机现场传感器数据,根据实时采集的信息刷新虚拟场景显示,实现起重机的仿真运行和虚拟监控。
关键词: OSG;远程监控;三维虚拟现实;运动模拟;远程同步1引言能源是国家经济的命脉,核能源作为一种清洁、安全、高效的能源,越来越受到国家重视,核电站建设进入了一个快速发展的阶段。
在核电工业中,为了避免核辐射对人体的危害,设备的操控及运行状态监控需要实现远程可视化。
针对上述问题,以核废料起重机为研究背景,基于OSG(OpenSceneGraph)开源渲染引擎,结合虚拟现实、远程控制、远程同步等技术,本文开发了一个数控起重机远程监控系统[1][2]。
利用Solidworks,系统建立了核废料起重机及其作业场景的三维模型库,采用三维开源渲染引擎OSG,结合VC编程,系统实现了模型的加载和运动控制,进而实现了起重机作业场景的三维渲染和运动仿真[3][4]。
通过实时采集现场传感器信号,系统实现了对远程起重机的实时作业跟踪与控制。
另外,为了提高系统控制的可靠性、作业的自动化水平,系统还设计了故障检测、报警及作业信息管理等功能。
osg仿真循环剖析 osg仿真循环剖析(基于王锐的最长的一帧)

OSG仿真循环剖析翟陆续(基于王锐的最长的一帧)开始剖析首先知道一下viewerbase类中的虚函数realize(), frame(), viewerinit,isRealizedv irtual void advance(double simulationTime=USE_REFERENCE_TIME) = 0;virtual void eventTraversal() = 0;virtual void updateTraversal() = 0;virtual void renderingTraversals();virtual void getContexts(Contexts& contexts, bool onlyValid=true) = 0;首先看一个小程序流程示例程序一:Int main(int argc, char** argv){osgViewer::Viewer viewer; //声明一个单视景体对象viewer.setSeceneData(“cow.osg”);//把模型数据加入照相机节点下while( !viewer.done()) // 仿真循环(1){viewer.frame(); (2) }Return 0;}示例程序二:Int main(int argc, char** argv){osgViewer::Viewer viewer; //声明一个单视景体对象viewer.setSeceneData(“cow.osg”);//把模型数据加入主从照相机节点下面viewer.realize(); (3)return viewer.run(); //仿真循环(4)}Viewer从view和viewerbase派生而来,在基类viewerbase中有一个受保护的bool变量_done,在viewerbase构造函数里面调用函数void ViewerBase::viewerBaseInit(){……….._firstFrame = true;_done = false;……….}_done = true时候退出仿真循环,退出的条件有:1.没能创建可用的图形上下文设备。
齐越朗诵节历届经典作品55篇

《一如当初》 (4)《蚂蚁》 (8)《乌骓别霸王》 (10)《商鞅之死》 (13)《霸王别姬》 (14)《血色黄昏》 (16)《周恩来》 (18)《永远的格桑梅朵》 (20)《钱学森》 (23)《卧薪尝胆》 (26)《大漠敦煌》 (28)誓者 (31)上帝的宠儿 (33)天路 (35)我也是个西北人 (37)西风胡杨 (39)齐越节----哑娘 (42)朗诵作品 (44)齐越节----妈妈等了你二十年 (47)齐越节-----母爱 (50)齐越节----我的南方和北方 (51)齐越节---中国军魂 (52)齐越节---希尔斯堡 (54)齐越节---永远的格桑梅 (56)齐越节----乌苏里江放歌 (59)齐越节----徽州女人 (60)齐越节---玉叶冠 (62)齐越节----朗诵作品 (64)齐越节---中国 (65)齐越节---你那里下雪了吗? (67)齐越节----满仓娘 (69)齐越节----第十个教师 (70)齐越节----青衣 (70)齐越节---朗诵作品 (71)齐越节---美人剑舞霸王泪 (73)齐越节---草原雄鹰 (75)齐越节---老师 (77)齐越节----做一个战士 (77)齐越节-----商鞅 (79)齐越节----钗头凤 (80)齐越节----替我叫一声妈妈 (82)齐越节----朗诵作品 (83)齐越节---南京大屠杀 (84)齐越节-----老人与海 (88)齐越节----红与黑 (90)齐越节----公牛泪 (91)齐越节----藏羚羊的跪拜 (93)齐越节---中国人不跪的人 (95)齐越节---为爱放手 (99)齐越节----嘎达梅林 (101)齐越节-----天上的草原 (102)齐越节----我的心 (103)齐越节----蚂蚁 (104)齐越节---审判X:谢林;Y:杨冠宇。
Y:谢林。
X:你看都没看,怎么知道是我?Y:你的味道,你走路的声音,你我相处这么多年,我了解你。
基于OSG图形系统的车站消防系统场景仿真

基于OSG图形系统的车站消防系统场景仿真陆扬;钱雪军【摘要】介绍了基于OSG(OpenSceneGraph)虚拟现实技术的地铁车站火灾报警系统的火灾场景仿真.主控机在处理外部输入火灾信息的同时,通过串口将主控机处理后的数据传入到一台下位机,再利用OSG技术将现场的三维火灾场景虚拟现实化,并根据上位机传输的数据进行场景的动态控制.该系统可预演各种灾情,从而提高车站工作人员对火灾的预防和处理能力.%The fire-scenario simulation of metro station fire - fighting alarm system of the virtual reality technology based on OSG is introduced. When the master computer is dealing with the external input fire information, the data will be passed to a slave computer through the serial port at the same time. In this slave computer, through the use of OSG technology, the three - dimensional field fire scenarios would be turned into the virtual reality and the dynamic controls of the scenes would be taken according to the data transmitted by the master computer. This system can preview a variety of disasters so as to improve the fire prevention and treatment ability of the station staff.【期刊名称】《城市轨道交通研究》【年(卷),期】2012(015)001【总页数】4页(P62-65)【关键词】地铁车站;火灾报警系统;OpenSceneGraph;三维仿真【作者】陆扬;钱雪军【作者单位】同济大学电子与信息工程学院,200092,上海;同济大学电子与信息工程学院,200092,上海【正文语种】中文【中图分类】U231+.961 车站火灾报警系统简介火灾报警系统(Fire Alarm System,简为FAS)的主要功能是自动捕捉监测区域内火灾发生时的烟雾或热气,发出声光报警,通知输出接点,控制自动灭火系统、事故照明、事故广播、消防给水和排烟系统等实施救灾,以实现监测、报警和灭火的自动化。
osg入门指导

尽管根据以往的经验,源代码足可起到编程文档的作用,但是它仍然不能替 代正式格式的编程文档。图形和表格是编程手册中常见的易于理解的教学工具, 但是它们在源代码中几乎无法体现。正因为 OSG 的迅速发展和愈发复杂的体系, 对于它的新用户来说,在缺乏参考文档的情况下学习 OSG 所需的时间也就越长, 这是我们所不愿看到的。事实上,在这本书面世以前,由于编程文档的匮乏,一 部分开发者已经对 OSG 的成熟性和稳定性产生了疑问,怀疑它是否能胜任专业 级应用程序的开发工作。
本书要求读者有一定的 C++语言基础和数学知识,适合所有对 OSG 编程感 兴趣的读者阅读。
自 Sutherland 在 1965 年提出“Ultimate Display”并设计实现了世界上第一 个交互式图形系统后,计算机图形学及人-机交互技术取得了难以想象的进步。 在过去 20 年当中,随着计算机图形加速技术的快速发展,由计算机实时传输、 处理、可视化亿级比特数据、并为终端用户提供三维交互式场景已经成为现实。 而以虚拟现实为代表的显示技术和图形信息管理技术也取得了很大进步。目前, 全球有数以千计的公司的业务涉及或正在使用三维交互式图形系统,而这些软件 在显示、模拟、仿真、计算机辅助设计、科学数据可视化及分析领域的应用随处 可见。这些应用已成为科研开发、工业生产中的重要工具。
3 在用户程序中使用 OpenSceneGraph …………………… 104 3.1 渲染 …………………………………………………………… 104
海派全景·怀旧传统——《最长一枪》的艺术审美建构

作者: 李振寰[1,2]
作者机构: [1]澳门城市大学,中国澳门999078;[2]吉林艺术学院新媒体学院,吉林长春130012
出版物刊名: 电影文学
页码: 88-90页
年卷期: 2020年 第16期
主题词:�最长一枪》;海派电影;城市文化;审美
摘要:“海派”文化在近一个世纪的发展历程中,为相关文学、影视作品的创作提供了源头活水。
其中“海派”电影立足于中西合璧的交流互鉴环境,追溯近代中国与外来文化的互渗关系,在商业片市场风起云涌的当下,以独特的艺术审美见长,不断实现着对上海租界文化、弄堂文化、帮派文化的影视创见。
电影《最长一枪》以老上海租界的繁华落寞为叙事背景,连贯起一位老者凝重的家国愁思,“海派”文化的灵眸初启,使影片找寻到了美学建构的重心所在。
王瑞一东方人的诗

王瑞(笔名东方人)是一位诗人,他的作品涵盖多个主题,包括对自然和人生的感悟、对历史和文化的思考等。
以下是一些他的诗作:1.《诗月千年》:这首诗通过对月亮的描绘,表达了诗人对时间流转和
人生短暂的感慨,同时也展现了诗人对自然和宇宙的敬畏和感悟。
2.《红旗啊,我对你情有独钟》:这首诗表达了诗人对红旗的深厚感情,
通过诗人的笔触,红旗的形象变得更加鲜明和生动,同时也传递出诗人对祖国和人民的热爱和忠诚。
总的来说,王瑞的诗歌作品主题广泛,语言优美,富有哲理性和思考性,具有很高的艺术价值和文化意义。
他的诗歌作品不仅展现了他的个人情感和思想,也反映了时代和社会的发展和变迁,对于读者来说具有重要的启示和意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
viewer.frame(); 就这样,用一个循环结构来反复地执行 frame()函数,直到 done()函数的返回值为 true 为止。每一次执行 frame()函数就相当于完成了 OSG 场景渲染的一帧,配置较好的计算机可 以达到每秒钟一二百帧的速率,而通常仿真程序顺利运行的最低帧速在 15~25 帧/秒即可。 很好,看来笔者的机器运行 frame()函数通常只需要 8~10ms 左右,比一眨眼的工夫都要 短。那么本文就到此结束吗? 答案当然是否定的,恰恰相反,这篇繁琐且可能错误百出的文字,其目的正是要深入 frame()函数,再深入函数中调用的函数……一直挖掘下去,直到我们期待的瑰宝出现;当然 也可能是一无所获,只是乐在其中。 这样的探索要到什么时候结束呢?从这短短的 10 毫秒中引申出来的,无比冗长的一帧, 又是多么丰富抑或无聊的内容呢?现在笔者也不知道,也许直到最后也不会明了,不过相信 深入源代码的过程就是一种享受,希望读者您也可以同我一起享受这份辛苦与快乐。 源代码版本:OpenSceneGraph 2.6.0;操作系统环境假设为 Win32 平台。为了保证教程 的篇幅不致被过多程序代码所占据,文中会适当地改写和缩编所列出的代码,仅保证其执行 效果不变,因此可能与实际源文件的内容有所区别。 由于作者水平和精力所限,本文暂时仅对单视景器(即使用 osgViewer::Viewer 类)的 情形作出介绍。 转载请注明作者和 本文在写作过程中将会用到一些专有名词,它们可能与读者阅读的其它文章中所述有所 差异,现列举如下: 场景图形-SceneGraph;场景子树-Subgraph;节点-Node;摄像机-Camera;渲染器-Renderer; 窗口-Window;视口-Viewport;场景-Scene;视图-View;视景器-Viewer;漫游器-Manipulator; 访问器-Visitor;回调-Callback;事件-Event;更新-Update;筛选-Cull;绘制-Draw。
osgViewer/ViewerBase.cpp 这个文件……同样的话就不再重复了。但是如果您没有这样做, 而仅仅是一边聊着 QQ,一边在电话里和女朋友发着牢骚,一边还要应付突然冲进来的老板, 一边打开这篇教程的话——对不起,我想您会在 1 分钟以内就对其感到厌烦,因为它就像天 书一样,或者就像一坨乱七八糟的毛线团,只有家里那只打着哈欠的小猫可能会过来捅上一 下。
好了,废话不再多说。我们这就开始。
当前位置:osgViewer/ViewerBase.cpp 第 571 行,osgViewer::ViewerBase::frame() frame 函数的内容本身几乎一眼就可以看完。不过要注意的是,这个函数是 ViewerBase 类的成员函数,而非 Viewer 类。因此,无论对于单视景器的 Viewer 类,还是多视景器的 CompositeViewer 类,frame 函数的内容都是相同的(因为它们都没有再重写这个函数的内容)。 该函数所执行的主要工作如下: 1、如果这是仿真系统启动后的第一帧,则执行 viewerInit();此时如果还没有执行 realize() 函数,则执行它。 2、执行 advance 函数。 3、执行 eventTraversal 函数,顾名思义,这个函数将负责处理系统产生的各种事件,诸 如鼠标的移动,点击,键盘的响应,窗口的关闭等等,以及摄像机与场景图形的事件回调 (EventCallback)。 4、执行 updateTraversal 函数,这个函数负责遍历所有的更新回调(UpdateCallback); 除此之外,它的另一个重要任务就是负责更新 DatabasePager 与 ImagePager 这两个重要的分 页数据处理组件。 5、执行 renderingTraversals 函数,这里将使用较为复杂的线程处理方法,完成场景的筛 选(cull)和绘制(draw)工作。 下面我们就按照 1~5 的顺序,开始我们的源代码解读之旅。
_cameraManipulator->init(*initEvent, *this); 从变量的名称可以猜测出_eventQueue 的功能,它用于储存该视景器的事件队列。OSG 中代表事件的类是 osgGA::GUIEventAdapter,它可以用于表达各种类型的鼠标、键盘、触压 笔和窗口事件。在用户程序中,我们往往通过继承 osgGA::GUIEventHandler 类,并重写 handle 函数的方法,获取实时的鼠标/键盘输入,并进而实现相应的用户代码(参见 osgkeyboardmouse)。 _eventQueue 除了保存一个 GUIEventAdapter 的链表之外,还提供了一系列对链表及其 元素的操作函数,这其中,createEvent 函数的作用是分配和返回一个新的 GUIEventAdapter 事件的指针。 随后,这个新事件的类型被指定为 FRAME 事件,即每帧都会触发的一个事件。 那么,_cameraManipulator 呢?没错,它就是视景器中所用的场景漫游器的实例。通常 我 们 都 会 使 用 setCameraManipulator 来 设 置 这 个 变 量 的 内 容 , 例 如 轨 迹 球 漫 游 器 (TrackballManipulator)可以使用鼠标拖动来观察场景,而驾驶漫游器(DriveManipulator) 则使用类似于汽车驾驶的效果来实现场景的漫游。 上面的代码将新创建的 FRAME 事件和 Viewer 对象本身传递给_cameraManipulator 的 init 函数,不同的漫游器(如 TrackballManipulator、DriveManipulator)会重写各自的 init 函 数,实现自己所需的初始化工作。如果读者希望自己编写一个场景的漫游器,那么覆写并使 用 osgGA::MatrixManipulator::init 就可以灵活地初始化自定义漫游器的功能了,它的调用时 机就在这里。 那么,回到 viewerInit 函数……很好,这次似乎没有更多的内容了。没想到一个短短的 函数竟然包含了那么多的信息,看来草率地阅读还真是使不得。
当前位置:osgViewer/View.cpp 第 227 行,osgViewer::View::init() Viewer::viewerInit 函数只做了一件事,就是调用 View::init()函数,而这个 init 函数的工 作似乎也是一目了然的:无非就是完成视景器的初始化工作而已。 不过在我们离开这个函数,继续我们的旅程之前,还是仔细探究一下,这个初始化工作 到底包含了什么? 阅读某个函数的源代码过程中,如果能够大致知道这个函数的主要工作,并了解其中用 到的变量的功能,那么即使只有很少的注释内容,应该也可以顺利地读完所有代码。如果对 一些命名晦涩的变量不甚理解,或者根本不知道这个函数于运行流程中有何用途,那么理解 源代码的过程就会麻烦很多。 View::init 函数中出现了两个重要的类成员变量:_eventQueue 和_cameraManipulator, 并且还将一个 osgGA::GUIEventAdapter 的实例传入后者的初始化函数。 代码如下:
new osgViewer::GraphicsWindowWin32::WindowData(hWnd); traits->x = 0; traits->y = 0; …… traits->inheritedWindowData = windata; osg::GraphicsContext* gc = osg::GraphicsContext::createGraphicsContext(traits.get()); Camera* camera = viewer.getCamera(); camera->setGraphicsContext(gc); …… viewer.setCamera(camera); 这个过程虽然比较繁杂,但是顺序还是十分清楚的:首先设置嵌入窗口的特性(Traits), 例如 X、Y 位置,宽度和高度,以及父窗口的句柄(inheritedWindowData);然后根据特性 的设置创建一个新的图形设备上下文(GraphicsContext),将其赋予场景所用的摄像机。而 我们在 getContexts 函数中所要获取的,也许就包括这样一个用户建立的 GraphicsContext 设 备。
第一日
好了,在开始第一天的行程之前,请先打开您最惯用的编程工具吧:VisualStudio? CodeBlocks?UltraEdit?SourceInsight?Emacs?Vim?或者只是附件里那个制作低劣的记事 本 … … 总 之 请 打 开 它 们 , 打 开 OpenSceneGraph-2.6.0 的 源 代 码 文 件 夹 , 打 开
解读成果: osgGA::EventQueue::createEvent,osgGA::MatrixManipulator::init,osgViewer::View::init, osgViewer::Viewer::viewerInit。 悬疑列表: 无。
第二日
当前位置:osgViewer/Viewer.cpp 第 385 行,osgViewer::Viewer::realize() Viewer::realize 函数是我们十分熟悉的另一个函数,从 OSG 问世以来,我们就习惯于在 进入仿真循环之前调用它(现在的 OSG 会自动调用这个函数,如果我们忘记的话),以完成 窗口和场景的“设置”工作。那么,什么叫做“设置”,这句简单的场景设置又包含了多少 内容呢?艰辛的旅程就此开始吧。 首先是一行:setCameraWithFocus(0),其内容无非是设置类变量_cameraWithFocus 指向 的内容为 NULL。至于这个“带有焦点的摄像机”是什么意思,我们似乎明白,似乎又不明 白,就先放入一个“悬疑列表”(Todo List)中好了。 下面遇到的函数就比较重要了,因为我们将会在很多地方遇到它: Contexts contexts; getContexts(contexts); 变量 contexts 是一个保存了 osg::GraphicsContext 指针的向量组,而 Viewer::getContexts