- 博客(1044)
- 资源 (8)
- 收藏
- 关注
原创 osgEarth的Rex引擎原理分析(一二九)地图下载器实现原理
82、osgEarth支持的空间参考坐标系详解(osgEarth::SpatialReference、osgEarth::CubeSpatialReference、osgEarth::TangentPlaneSpatialReference)((二十九)中问题)72、osgearth中可能用到的几个全局实例对象(osgDB::Registry osgEarth::Registry osg::Timer osg::DisplaySetting)((二十三)中问题)
2023-07-22 07:15:23 481
原创 C++学习(四九二)cmake file的GLOB和GLOB_RECURSE
添加当前目录及其子目录下的所有c文件列表到lib_srcs变量中。添加当前目录下的所有c文件列表到lib_srcs变量中。file的一个作用是生成目录列表。
2022-10-22 18:06:47 7389 1
原创 C++学习(四九一)use of undeclared identifier ‘S_IREAD‘
原因分析:S_IREAD在头文件在下述位置中定义。应该是没有定义__USE_BSD或__USE_GNU,导致找不到S_IREAD。问题描述:用ninja交叉编译libgif库egif_lib.c遇到的问题。
2022-10-22 08:32:32 1235
原创 C++学习(四八九)Could not download aapt2-windows.jar
解决办法:去掉Gradle的offline模式,点击AndroidStudio的文件->设置,选择Gradle标签页,去掉Offline work前面的对钩。问题描述:Android Studio在编译生成Apk时报此错误。
2022-10-15 07:58:21 780
原创 C++学习(四八八)android下载权限及下载崩溃
下载程序崩溃,有两个原因,一是Android9.0(API28)以后默认将禁止明文访问网络,只允许使用https url访问;二是下载资源的程序和Activity在一个线程中。打开下载权限方法,在AndroidManifest.xml文件中添加。问题描述:设置了网络下载权限,但是执行下载时程序崩溃。第二个原因,需要将下载程序放在一个单独的线程中。第一个原因,可采用文章。
2022-09-06 05:51:08 912
原创 C++学习(四八七)android studio println的输出位置
一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息。的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。1、Log.v 的调试颜色为。2、Log.d的输出颜色是。3、Log.i的输出为。
2022-09-02 06:28:53 1046
原创 人工智能学习(五)人工智能三巨头
他们分别是杰弗里.辛顿(Geoffrey Hinton),约书亚.本吉奥(Yoshua Bengio)和扬.勒丘恩(Yann LeCun).这三个人通常被大众称为“深度学习三巨头”。为什么要介绍他们呢?因为人工智能如今能够发展地如此迅猛,他们几个绝对是功不可没的。三巨头中最年长的杰弗里辛顿,生于英国,后面移居加拿大,在深度学习领域,辛顿的贡献是开创性的。他最先把反向传播用于多层神经网络,还发明了玻尔兹曼机,这些成果直接导致深度学习的实用化,在教学和科研以外,杰弗里辛顿还创办了一家人工智能公司,然后把公司卖给
2022-08-07 17:45:57 4489
原创 VR(一)ATW ASW
OculusRift头显内使用的ATW技术被证实其可以有效的减少延迟并为用户提供更为舒适的VR体验,但仍有一定的局限性。ASW通过前面渲染的画面去检测之前的动作信息,并通过该信息去预测下一帧画面中场景元素的位置。最新版本的LiquidVR提供了连接到强大的VR图形处理硬件(AMDRadeonGPU)的接口,它们可生成必要的运动向量而不对图形引擎造成过多负担。ATW在画面渲染的同时追踪用户的头部动作,并将最后一个完整的画面二次投影到用户最后一个头部位置对应的视点上。...
2022-07-14 21:52:16 1463
原创 C++学习(四八六)lldb parent failed to evaluate variable not available
有些值获取失败,比如key等变量 还会出现有些值看不到的情况(未提示获取失败),如localLOD
2022-07-13 07:49:20 1255
原创 osgEarth的Rex引擎原理分析(一二八)rex的引擎和图层投影及其关系
目标:(一二七)中问题214主要存在三个地方:一是map的type属性,可取两个值geocentric、projected,前者用于三维显示,后者用于二维显示;二是map的options属性的srs,可以取spherical-mercator world-mercator wgs84 plate-carre,用于设置显示的投影方式,可以根据显示需要随意设置;三是影像和高层图层属性的srs,可以取spherical-mercator world-mercator wgs84 plate-carre,用于设
2022-07-12 18:33:38 1043 2
原创 C++学习(四八五)AlphaGo的硬件和算法
1、硬件维基百科上有各种版本的AlphaGo硬件配置 :战胜李世石的版本为:(AlphaGo Distributed)使用了1202个CPU和176个GPU,同时可以有40个搜素线程。2、算法AlphaGo的技术总体架构如果一句话总结的话就是:深度CNN神经网络架构结合蒙特卡洛搜索树(Monte Carlo Tree Search)。深度学习神经网络训练出两个落子策略和一个局面评估模型,这三个策略的神经网络架构基本相同,这是参数不同而已。两个落子策略:SL(supervised-learning polic
2022-06-20 06:58:22 358
原创 C++学习(四八四)anaconda常用命令
安装tensorflow:pip install tensorflow-gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple查看Anaconda环境是否安装成功:查看目前安装了哪些环境变量:创建一个名为 tensorflow 的环境,环境中的 python 版本为3.8退出环境变量deactivate查询安装信息conda info查询已安装的库信息conda list测试安装效果依次输入:python,import tensorflow as tf
2022-06-18 09:51:42 407
原创 C++学习(四八三)无法从“std::pair<const _Kty,_Ty>”转换为“_Objty”
使用vs2017编译osgEarth2.9的FeatureSourceIndexNode.cpp遇到的使用VS2017编译osgEarth2.7过程中遇到问题总结_justslowdown_going的博客-CSDN博客>> xmemory0(881): error C2440: “初始化”: 无法从“std::pair<const _Kty,_Ty>”转换为 to _Objty位置:FeatureSourceIndexNode.cpp解决方法:使用osgEarth3.0版本下的
2022-04-10 16:46:15 2057
原创 osgEarth的Rex引擎原理分析(一二七)rex影像层属性及其设置
目标:(一二六)中问题213osgEarthDrivers/earth/EarthFileSerializers2.cpp bool addLayer(const Config& conf, Map* map) { std::string name = conf.key(); Layer* layer = Layer::create(name, conf); if (layer) { .
2022-03-31 06:14:25 970
原创 osgEarth的Rex引擎原理分析(一二六)rex瓦片组织方式
目标:(一二五)中问题2121、初始第0级,横向2个,纵向1个,是硬编码在程序中的osgEarth/Registry.cppconst Profile*Registry::getGlobalGeodeticProfile() const{ if ( !_global_geodetic_profile.valid() ) { GDAL_SCOPED_LOCK; if ( !_global_geodetic_profile.vali.
2022-03-25 20:50:14 1045
原创 osg学习(七十四)Type mismatch in arithmetic operation between ‘vec2‘ and ‘int‘
可能是手机端语法检查更严格glsl语句是这样的,再桌面端执行没有问题,在手机端执行会提示上述错误vec3 tmpNormal = osg_NormalMatrix*osg_Normal; tmpNormal = normalize(tmpNormal); texCoord = tmpNormal.xy/2+0.5;改为如下则手机端不再提示错误vec3 tmpNormal = osg_NormalMatrix*osg_Normal; tmpNormal = normalize(t
2022-03-22 07:55:09 354
原创 osg学习(七十三)缩放条件下计算gl_NormalMatrix
法线的变换方式不同于顶点的变换。顶点变换采用:gl_ModelViewProjectionMatrix * gl_Vertex法线变换采用:gl_NormalMatrix*gl_NormalNormalMatrix是ModelView矩阵逆的转置,由于gl_ModelViewProjectionMatrix 考虑了旋转、缩放、平移等因素,因此gl_NormalMatrix也考虑了旋转、缩放、平移等因素。参考:Normal Matrix(法向量变换矩阵) - 简书我们都知道
2022-03-19 21:30:40 533
原创 osg学习(七十二)SPHERE_MAP REFLECTION_MAP NORMAL_MAP
1、球面贴图已知视点、物体顶点、物体法线,计算反射向量,在球面上根据反射向量和视向量计算法向量,也即球面点,根据球面点计算纹理坐标进行采样贴图。2、反射贴图根据1计算反射向量,以反射向量计算纹理坐标进行采样贴图。3、法线贴图直接根据法线向量计算纹理坐标进行采样贴图。如果物体存在选择缩放需要特殊计算物体法线,简单通过gl_NormalMatrix*gl_Normal计算是不行的。参考:C++学习(三三六)球面贴图Sphere mapping 立方体贴图Cube ma
2022-03-19 21:16:58 520 1
原创 osg学习(七十一)如何给顶点着色器传递顶点数据
缩放不会影响传递到着色器中顶点坐标缩放设置顶点数据osg/Geometry.cppvoid Geometry::setVertexArray(Array* array){ _vertexArray = array;}通过glVertexPointer向顶点着色器派发,通过gl_Position gl_ModelViewProjectionMatrix gl_Vertex gl_Normal gl_MultiTexCoord1等访问相应的顶点属性信息。o.
2022-03-18 20:51:30 876
原创 osg学习(七十)如何根据视口对象自动调整视点位置、距离
osgGA/CameraManipulator.cppvoid CameraManipulator::computeHomePosition(const osg::Camera *camera, bool useBoundingBox){ double dist = 3.5f * boundingSphere.radius(); if (camera) { // try to compute dist from frustum ...
2022-03-16 05:49:19 1353
原创 osg学习(六十九)平移、旋转、缩放实现过程
1、主程序osg::PositionAttitudeTransform* patTransform=new osg::PositionAttitudeTransform();patTransform->setPosition(l2wMatrix.getTrans());patTransform->setAttitude(l2wMatrix.getRotate());patTransform->setScale(osg::Vec3d(200.0,200.0,200.0));pa
2022-03-10 06:22:44 841
原创 osg学习(六十八)序列化插件加载过程
加载D:\OSG_OAGEARTH_x86\bin\osgPlugins-3.6.3\osgdb_serializers_osgd.dll
2022-03-08 06:25:42 365
原创 C++学习(四八二)zlib的inflate
zlib 1.2.11 Manual https://www.zlib.net/manual.html原理:ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));Initializes the internal stream state for decompression. The fields next_in, avail_in, zalloc, zfree and opaque must be initiali
2022-03-07 06:17:59 1927
原创 osg学习(六十七)InputIterator::checkStream() : _in->rdstate() 3, 2
缓存信息不一致的问题,清除缓存即可
2022-03-05 05:46:43 584 6
原创 osg学习(六十六)Unsupported wrapper class osg::Object
没有调用osgWrappers/serializers/osg/Object.cppREGISTER_OBJECT_WRAPPER( Object, new osg::DummyObject, osg::Object, "osg::Object" ){ ADD_STRING_SERIALIZER( Name, "" ); // _nam..
2022-03-03 06:12:52 363
原创 openGL之API学习(二一二)固定管线的纹理
会将固定管线各个纹理单元(openGL之API学习(二零五)GL_MAX_TEXTURE_UNITS GL_MAX_TEXTURE_IMAGE_UNITS_ARB GL_MAX_COMBINED_TEXTURE_IM纹理单元数_hankern的专栏-CSDN博客int _maxFFPTextureUnits;int _maxGPUTextureUnits;glGetIntegerv( GL_MAX_TEXTURE_UNITS, &_maxFFPTextureUnits ); //4glGetInte
2022-02-28 05:57:08 547
原创 openGL之API学习(二一一)glColor遇上纹理
每一个像素点的颜色与glColor进行比较,最终取较小值原图glColor4f(1.0,0.0,0.0,1.0)时glColor4f(0.0,0.0,0.0,1.0)时,glColor4f(0.0,0.0,0.0,0.0);renderInfor.getState()->setActiveTextureUnit(1);static GLuint disp_tex_id=0;if(disp_tex_id<=0){ glGenTextu.
2022-02-27 06:52:13 304
原创 osg学习(六十五)图片到纹理
glBindTexture(GL_TEXTURE_2D, 0);GLuint disp_tex_id;glGenTextures(1, &disp_tex_id);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D, disp_tex_id);glPixelStorei(GL_UNPACK_ALIGNMENT, 1);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_R...
2022-02-20 08:33:51 356
原创 openGL之API学习(二一零)纹理要素设置过程
包括纹理尺寸、格式、类型、边框边框在构造是置为0,后期不再修改1、在读取图片时确定内部格式和像素格式是一样的osgPlugins/rgb/ReaderWriterRGB.cppReadResult readRGBStream(std::istream& fin) const{ osg::ref_ptr<refImageRec> raw; if( (raw = RawImageOpen(fin)) == NULL ) {
2022-02-20 08:02:49 237
原创 openGL之API学习(二零九)glColor
设置图形默认的绘制颜色。void glColor3b( GLbyte red, GLbyte green, GLbyte blue); void glColor3s( GLshort red, GLshort green, GLshort blue); void glColor3i( GLint red, GLint green, GLint blu
2022-02-19 08:26:15 456
原创 openGL之API学习(二零八)客户端 服务器端 client server
Client (客户端):存储在CPU存储器中的,并且在应用程序中执行,或者在主系统内存的驱动程序中执行。驱动程序会将渲染命令和数组组合起来,发送给服务器执行!Server(服务器): 在PC或Mac电脑上,服务器指的其实就是图形加速卡上的硬件和内存(显卡,显存)。...
2022-02-16 06:27:05 634
原创 openGL之API学习(二零七)glTexCoordPointer
最多支持到gl3,gl4以后无此函数。该函数在客户端调用。纹理坐标数据初始是禁用的,不能被glArrayElement, glDrawElements, glDrawRangeElements, glDrawArrays, glMultiDrawArrays, or glMultiDrawElements调用。void glTexCoordPointer( GLint size, GLenum type, GLsizei stride,...
2022-02-16 06:22:44 506
原创 openGL之API学习(二零六)glClientActiveTexture
glClientActiveTexture selects the vertex array client state parameters to be modified by glTexCoordPointer, and enabled or disabled with glEnableClientState or glDisableClientState, respectively, when called with a parameter of GL_TEXTURE_COORD_ARRAY.glC
2022-02-16 06:11:01 2562
原创 openGL之API学习(二零五)GL_MAX_TEXTURE_UNITS GL_MAX_TEXTURE_IMAGE_UNITS_ARB GL_MAX_COMBINED_TEXTURE_IM纹理单元数
int _maxFFPTextureUnits;int _maxGPUTextureUnits;glGetIntegerv( GL_MAX_TEXTURE_UNITS, &_maxFFPTextureUnits ); //4glGetIntegerv( GL_MAX_TEXTURE_IMAGE_UNITS_ARB, &_maxGPUTextureUnits ); //32
2022-02-13 17:04:54 2351
osgAndroidExampleGLES2重新组织TestNativeCPlusPlus
2021-06-19
NVIDIA_Nsight_Tegra_Release_3.6.19217.7511.exe
2021-02-11
3D管线导论、3D流水线、3D流水线导论
2012-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人