自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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从list从删除文件

【代码】C++学习(四九四)cmake从list从删除文件。

2022-10-23 05:59:35 1776 1

原创 C++学习(四九五)一个最简单的cmake工程文件(动态链接库)

【代码】C++学习(四九五)一个最简单的cmake工程文件(动态链接库)

2022-10-23 05:48:47 699

原创 C++学习(四九四)cmake从list从删除文件

【代码】C++学习(四九四)cmake从list从删除文件。

2022-10-23 05:47:00 1121

原创 C++学习(四九四)cmake从list从删除文件

【代码】C++学习(四九四)cmake从list从删除文件。

2022-10-23 05:07:34 205

原创 C++学习(四九三)cmake的宏定义方式

2、在cmake的界面上,点击Add Entry分别添加String类型的变量即可。

2022-10-23 04:37:42 3797

原创 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++学习(四九零)add_library生成动态库和静态库

注意这里是SHARED,而不是DYNAMIC。

2022-10-15 19:51:52 687

原创 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

glview631-setup.exe

直观的查看支持的OpenGL的特性和扩展,你也可以下载OpenGL Extensions Viewer,这个软件也有多个平台的版本。

2021-08-15

osgAndroidExampleGLES2重新组织TestNativeCPlusPlus

osgAndroidExampleGLES2是Eclipse下工程文件,理论上Android Studio也是可以打开执行的,但由于种种原因,无法在Andoid Studio上执行。该程序完全基于Android Studio,用CMake组织C++代码,用Gradle作为构建工具,对osgAndroidExampleGLES2进行了重新配置,可以Android Studio3.5上运行、调试。

2021-06-19

NVIDIA_Nsight_Tegra_Release_3.6.19217.7511.exe

NVIDIA® Nsight™ Tegra®, Visual Studio Edition brings Microsoft Visual Studio to Android, allowing for seamless GDB and JDB remote debugging to all Android devices capable of native application debugging, supporting all Android ABIs – ARM v7, ARM v8, x86, x64.

2021-02-11

wgl相关函数.pdf

wgl是Windows操作系统和OpenGL做交互的一系列扩展api,该文档提供了wgl相关函数及其使用说明。

2020-05-31

3D管线导论、3D流水线、3D流水线导论

游戏开发中,计算机图形学是必不可少的东西。许多人也是从接触图形开始而进入游戏行业的。3D管线导论这本书诠释了3D管线的细节。为大家解开了萦绕已久的迷团。 很多次偶然地看到 《3D pipeline tutorial》(3D管线导论)这本书的推荐。 今天就狠下心来搜索了一下。 下载了一个电子版来瞧瞧。 发现自己曾经百思不得其解的内容就全在里面。 这本书介绍了我们的图形应用程序场景中一些常用的方法。 如:对象遍历,对象移动,摄像机移动,可见对象查询,LOD等。 而本书的重头戏则在于,他详细地讲述了一个三角形和其纹理等信息,从输入到输出到屏幕所经历的过程。 先前我就一直在查找这方面的资料,要是自己当初就下了这本书。那多好哇。 简单列一下3D管线工作流程,这也是许多图形API 如D3D OPENGL大致的工作方式。 顶点处理阶段 普通变换:平移,缩放,旋转。 世界变换:从模型本地坐标系变到世界坐标系。 观察变换:从世界坐标系变到观察坐标系。 观察投影:从观察坐标系变换到投影空间。 投影是一个降维的过程。 也就是说,投影便是从3D到2D的过程。 少量的剔除:(Trivial Accept/Reject Culling) 背面剔除(也可以在稍后的屏幕空间中做) 光照 透视分割(Perspective Divide):转换到裁剪空间中。 裁剪(Clipping) 视口映射:变换到屏幕空间。 三角形构造阶段 背面裁剪(也可以在前面的观察空间中的投影变换之前做)。 Slope/Delta Calculations 扫描线转换:Scan-Line Conversion 渲染和光栅化阶段 着色(Shading) 纹理映射(Texturing) 雾化 ALPHA半透明测试 深度缓冲测试 反走样(可选) 显示 以上便是一个完整的3D管线必须具备的东西。。 至于各个处理阶段的顺序,在实际的实现方法上会存在一定的差异。 有兴趣的朋友可以一起来看这本书。 我也会在看完后,写出自己的感受,大家一起交流。

2012-03-11

mapx功能说明

对mapx的功能有很详细的说明,是开发地理信息系统的一个很好插件

2012-02-23

google输入法

很好用的输入法软件,可以方便的在中英文之间切换,并且字库的命中率也相当高

2008-07-13

瑞星最新杀毒

瑞星最新出的杀毒软件

2008-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除