![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
osg
文章平均质量分 51
「已注销」
太帅
展开
-
osg学习之一:基础
1. 向量叉积(向量积)结果是右手系的新向量,垂直于原两个向量,向量模为absinθ几何意义叉积的长度 |a × b| 可以解释成以a和b为边的平行四边形的面积。进一步就是说,三重积可以得到以a,b,c为边的平行六面体的体积。[编辑]代数性质反交换律:加法的分配律:a × (b + c) = a × b + a ×原创 2012-07-19 23:26:10 · 2956 阅读 · 0 评论 -
osg for android 学习之十四:再说纹理
首先贴一些记录,之后再整理1. 程序跑起来之后,按‘L’键来开关光照效果,看物体的亮度是否会变。若物体的亮度不变,那么显然,该物体已经禁用了光照,它的颜色不受光照影响。基于这一点,可以试验着修改一下TexEnv对象的那个setMode的参数。2. osg::TexEnv::DECAL 是覆盖,即图片是咋样就贴成咋样,osg::TexEnv::BLEND 是多重纹理,默认好像就是原创 2012-09-13 21:42:29 · 3578 阅读 · 0 评论 -
osg for android 学习之十五:显示图片
抄的,待测试,如下方法一:没有几何体,直接显示图片(见王锐、钱学雷的《OSG三维渲染引擎设计与实践》P119 在场景中绘制位图):osfg::ref_ptr bmp= new osg::DrawPixels;bmp->setPosition( osg::Vec3( 0.0, 0.0, 0.0));bmp->setImage( osgDB::readImageFile("***.原创 2012-09-13 22:27:50 · 1517 阅读 · 0 评论 -
osg 学习 之十五:阴影和光照
需要加阴影和光照,才能产生阴影效果1. 如何加阴影 //加阴影osg::ref_ptr ssm = new osgShadow::SoftShadowMap;// ssm->setAmbientBias(osg::Vec2(0.7,0.7));//0.5,0.5float bias = ssm->getBias();ssm->setBias(bias*2.0);原创 2012-09-19 10:26:20 · 9707 阅读 · 1 评论 -
osg帖子摘抄--阴影
1. osg对一个大场景中的树添加阴影的问题具体是这样的!我已经获得了一个建好的场景模型,里面有树木还有房子,当然还有地形(草地)。之前别人建模的时候没有加阴影贴图的。现在我的任务是在原来的场景模型下给树木加上阴影!我目前的做法是首先通过节点访问把我需要加阴影的那些树的节点找到,比如说就一棵树!然后对这个节点进行setNodeMask(),同样用这种方法把地形的节点也找转载 2012-09-18 17:50:58 · 3052 阅读 · 0 评论 -
osg for android学习之:配置插件
1. 例子的osgmainapp.hpp中有有如下语句://Static plugins MacroUSE_OSGPLUGIN(ive)USE_OSGPLUGIN(osg)USE_OSGPLUGIN(osg2)USE_OSGPLUGIN(terrain)USE_OSGPLUGIN(rgb)USE_OSGPLUGIN(OpenFlight)USE_OSGPLUGIN(原创 2012-09-25 14:54:01 · 2631 阅读 · 0 评论 -
osg 学习之十七:漫游器,
ManipulatorTerrain:每一帧都会调用 getInverseMatrix这个漫游器,就是球形漫游器的子类,要以轨迹球的思路去理解相机始终是围绕一个球变换的_distance 表示相机到这个球的中心点的距离,这个距离不能自己改变,否则不平滑,只有缩放时才变,旋转和平移都不会变_center 在只用鼠标左键旋转、中键缩放或右键缩放的时候,是不会变的,只有在鼠标中键按下原创 2012-09-25 11:25:11 · 2928 阅读 · 1 评论 -
osg for android :天空盒
转载,之后用osg::TextureCubeMap* readCubeMap(){osg::TextureCubeMap* cubemap = new osg::TextureCubeMap;//#define CUBEMAP_FILENAME(face) "nvlobby_" #face ".png"//#define CUBEMAP_FILENAME(face) "转载 2012-10-25 21:19:10 · 1989 阅读 · 1 评论 -
unicode 的utf-8 和GBK
1. 区别GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的网站则用UTF-8节省空间。2. UTF-8Unicode符号范围 | UTF-8编码方式(十六进制) |转载 2013-03-22 23:23:13 · 872 阅读 · 0 评论 -
osg android 中文字符问题
遇到很多问题环境:1. 英文系统eclipse中的cpp文件设置默认编码为utf-82. 在sd卡中拷贝simfang.ttf字体,在代码中设置字体的绝对路径 如sdcard/xuhy/osgdata/fong/simfang.ttf3. 代码如下setlocale(LC_ALL,"chs");osgText::String* str = new osgText::Stri原创 2013-03-22 23:54:05 · 2449 阅读 · 1 评论 -
osg android学习--经验记录
来自论坛威总,阿威-耳机威1. 关于纹理图片的格式,包括支持性和半透明peg tif bmp tga这几个是用过的,成功了tif也可以透明 1 你没有必要在安卓上支持n多格式 你可以在pc上做一次预处理 2 存储可以压缩也可以不压缩 这要根据实际情况考虑 处理过程参考13 没有哪个工程是直接输出就作为release资源的 除非你只是原创 2013-04-28 10:47:24 · 1717 阅读 · 0 评论 -
osg 学习之十六:osgconv工具(android支持的纹理格式)
osgconv使用指南 osgconv是一种用来读取3D数据库以及对它们实施一些简单的操作的实用应用程序,同时也被称作一种专用3D数据库工具。用osgconv把其他格式的文件转换为OSG所支持的格式 osgconv是一种非常有用的的工具来读取标准的3D格式,如Open转载 2012-09-20 13:22:17 · 6375 阅读 · 0 评论 -
Setup Factory打包 自己的DLL文件注册,检查vc++ 2008运行库
http://blog.chinaunix.net/uid-10376640-id-3398980.html加入自己的文件在 actions - on post install中,添加如下语句Shell.Execute("regsvr32", "open", SessionVar.Expand(" /s \"%ProgramFilesFolder%\\%ProductName转载 2013-09-09 14:05:38 · 4553 阅读 · 2 评论 -
所谓跨浏览器的web三维控件
原创 2013-09-14 13:33:28 · 1868 阅读 · 0 评论 -
osg for android 学习之五:场景漫游
需要实现这个,先把参考的文章列在这里http://blog.csdn.net/tinya0913/article/details/6124167效果很不错哦,希望在android上可以实现。/***********************************************************Write by xuhy ******************原创 2012-08-15 23:15:30 · 4368 阅读 · 0 评论 -
FB记录
FB 1.5.0及其以上:1. js可以调 JSAPI的Methods, Properties, Attributes, and Events;2. Properties在 ue3dwebAPI.h的构造函数里加这个: // Read-write property registerProperty("testString",原创 2013-11-08 11:50:25 · 1370 阅读 · 0 评论 -
【转载】你的PagedLOD 为什么没有卸载
http://bbs.osgchina.org/forum.php?mod=viewthread&tid=7612&highlight=PagedLOD分页对于大型场景而言是一个必不可少的调度渲染技术。当你发现osg自身就带有PagedLOD 功能时,何尝不兴致冲冲的立即使用。可是,在使用时突然发现只有加载没有卸载,内存随着运行不断攀升,过期的PagedLOD 节点竟然没有被osg转载 2012-09-12 15:17:22 · 4653 阅读 · 0 评论 -
osg for android 学习之纹理丢失解决
1. 纹理丢失当屏幕关闭再打开,纹理会丢失原因是屏幕关闭后,android虚拟机会自动释放内存里面的纹理资源http://topic.csdn.net/u/20101009/17/920a3499-42bf-4eb3-9d3f-7071caba6507.htmlhttp://blog.csdn.net/xqhrs232/article/details/6546645原创 2012-09-29 12:08:21 · 2461 阅读 · 2 评论 -
osg学习一:Access violation 错误的解决
OSG智能指针2011-04-07 21:43摘自:Don Burns《Using Reference Pointers in Producer and OpenSceneGraph》ref_ptr规则1:对所有从Referenced 继承的类,都用ref_ptr规则2:绝对不要返回ref_ptr 它自己规则3:绝对不要用ref()、un转载 2012-07-25 22:27:19 · 1211 阅读 · 0 评论 -
osg学习之二:一些基本的东西
来自qq群:1. osg的基本思想是MT,MatrixTransform2. osg内置对象默认的方向是沿着z轴向上的原创 2012-07-26 14:52:16 · 811 阅读 · 0 评论 -
osg for android 学习之三:老外的步骤,包括编译和运行例子
I decided to write a very easy step-for-step tutorial on how to build OSG for Android. I'm going to share it here. Corrections are of course welcome. This Tutorial is to show how to compile OpenSc转载 2012-08-15 09:45:12 · 6823 阅读 · 0 评论 -
osg for android学习之二:编译运行osgAndroidExampleGLES1/2
首先参考前一篇编译GLES1 GLES2的版本,注意不要用ndk-r8b的版本。我的步骤如下:打开eclipse,新建项目-android-从已有代码创建;选择 F:\osgeo4w\osg\trunk\OpenSceneGraph\examples\osgAndroidExampleGLES2 ,勾选拷贝到工作空间然后在eclipse中修改 jni/ Android.mk,O原创 2012-08-13 14:52:40 · 5613 阅读 · 1 评论 -
osg for android 学习之四:example gles 1
发现几个问题1. 用GLES 1,不要用GLES2, gles 1 可以打开并渲染自己的ive文件,但是gles2只能加载,渲染不出来。2. 当手机屏幕关闭后,再开启屏幕,里面的对象就不显示了,只有一个背景,点居中按钮也不行,不知道上面原因。原创 2012-08-15 21:30:26 · 2626 阅读 · 1 评论 -
osg for android 学习之十:注意事项
android注意事项:1. 包名至少两个字段2. 修改了包名或把其他cpp拷贝过来,要注意 nativelib.cpp里面的函数名字,要修改为对应的包名3. 不要在打开xml文件的时候点击运行或调试按钮,否则会创建*_out.xml的文件osg注意事项:1. PositionAttitudeTransform的连乘方式始终为SRT,即scale * rotate * tr原创 2012-08-27 17:57:53 · 1197 阅读 · 0 评论 -
osg for android 学习之十三:android上的地球
http://blog.sina.com.cn/s/blog_6d51719a0100m2q9.html纹理和球不一致,要注意。//绘制一个地球osg::ref_ptr createEarth(){ //创建一个球体 osg::ref_ptr sd = new osg::ShapeDrawable(new osg::Sphere(osg::Vec3(0.0,0.原创 2012-08-30 23:45:30 · 3758 阅读 · 3 评论 -
osg for android 学习之八:关于StateSet
1. 定义状态管理类OSG 提供了一种机制,用以保存场景图形所需的OpenGL 渲染状态。在拣选遍历中,同一状态的几何体将被组合集中到一起以使状态的改变呈最小化。在绘制遍历中,状态管理代码将记录当前状态的历史轨迹,以清除冗余的渲染状态变更。SateSet类:保存一组定义状态数据(模式和属性)。场景中任何osg::Node都可以与一个StateSet相关联。Mod转载 2012-08-22 15:21:18 · 4357 阅读 · 0 评论 -
osg for android 学习之六:不支持jpg的纹理格式
结果测试,我这个版本的osg不支持jpg格式的纹理,会提示Could not find plugin to read objects from file但目前至少支持tga和rgb格式的,解决方法要么把纹理文件转格式,要么可以在win32上写个demo贴纹理,另存为ive格式,参考如下: if (!root) root = createEarth(); if原创 2012-08-22 00:01:09 · 3040 阅读 · 2 评论 -
osg for android 学习之七:绘制基本的对象
1. 点用一个球代替osg::ShapeDrawable* sd = new osg::ShapeDrawable(new osg::Sphere( root->getBound().center(), 2));osg::Geode* lightNode = new osg::Geode;lightNode->addDrawable(sd);lightNode->get原创 2012-08-22 14:42:00 · 5136 阅读 · 0 评论 -
osg for android 学习之九:相机
Camera设置viewMatrix和projectionMatrix,使用setViewMatrix和setProjectionMatrix不管用,原因可能是:If you are setting your own view matrix then do not register a camera manipulator with the viewer, and avoid callin转载 2012-08-22 17:03:02 · 1411 阅读 · 0 评论 -
osg for android 学习之十一:从3dmax导出osg文件
插件地址在http://sourceforge.net/projects/osgmaxexp/files/OpenSceneGraph%20Max%20Exporter/1.0.2/有win2版本和64版本的安装后插件在安装目录下,拷贝到3dmax的插件目录下即可这样也可以 osgconv --compressed cow.3ds cow.ive原创 2012-08-28 13:19:30 · 3707 阅读 · 0 评论 -
osg for android学习之pagedlod
首先这个在android上是支持的其次,想用文件名加坐标加trans,是不行的,会提示动态链接缺少,osgdb方面的所以只有用变换节点来实现以下是小米手机,400个3m的模型,压力不大,纹理没渲染出来,如果纹理渲染出来了,应该开始卡了。奉献一个代码#pragma once//Standard libraries#include "JNIUtils.h"原创 2012-09-27 22:29:20 · 4147 阅读 · 0 评论 -
osg for android 学习之:JNI
#include 不引用这个 ,会提示JNIEXPORT无效。原创 2012-09-27 12:10:22 · 878 阅读 · 0 评论 -
osg for android学习之DEM
1. 以下是PC上发现的首先要确保编译了gdal,就是说有gdal18.dll和osgdb_gdald.dll然后再代码中加入osgDB::ReaderWriter* gdalrw= osgDB::Registry::instance()->getReaderWriterForExtension("gdal");跟踪这一句进去看一下是否加载成功。注意修改了环境变量要重启v原创 2012-09-28 14:34:20 · 1266 阅读 · 0 评论 -
osg for android 学习之导入外部模型的坐标关系
在3dmax中某一模型,通过osgconv转换后,会带上3dmax中的坐标信息,就是说这个模型在3ds中的坐标为100,100,100那么转换为ive并且导入到osg中,这个模型的坐标仍然为100,100,100而且3dmax的坐标系的三个轴的方向和osg的坐标系完全一致。如果一个模型用多次,就可以在3dmax中把场景布置好,然后采坐标和旋转角度。然后把这个模型在3dmax原创 2012-09-29 11:45:44 · 1940 阅读 · 0 评论 -
osg for android学习之一:windows下编译(亲测通过)
首先有个群 236268456 osg for android此文参考cookbook一书并且参考http://www.openscenegraph.com/index.php/documentation/platform-specifics/android/43-building-openscenegraph-for-android-3-0-2http://lists.opens原创 2012-08-09 14:25:59 · 12711 阅读 · 3 评论