自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 关于阴影映射的那些事,shadow acne(阴影失真)和peter panning(阴影悬浮)

在之前学习阴影映射时看的是这篇文章https://learnopengl-cn.github.io/05%20Advanced%20Lighting/03%20Shadows/01%20Shadow%20Mapping/。但是里面有两个点当时是云里雾里,现在重新学习如何实现柔和边缘阴影时有又遇到些问题,就是在阴影映射是出现的shadow acne(阴影失真)和peter panning(阴影悬浮),阴影失真如图:出现这个问题的原因原文根本就没讲清楚,给出的图和解释也十分误导人,而且给出的解决

2020-05-26 21:56:55 2478 4

原创 施密特正交化

有时候我们在某些计算中需要将向量转换到另外一个坐标系下,例如在屏幕环境光遮蔽中(SSAO)我们需要将半球采样核心(hemisphere sample kernel)向量转换到法线所在的切线空间也就是TBN矩阵,法线N我们已经有了,其实在SSAO中B和N向量可以是任意的,只要T,B,N彼此互相垂直即可,所有可以首先随机生成一张噪音图(noise),但是有个问题是我们不能保证噪音图上的随机向量垂直于法...

2019-10-21 10:10:56 2227

原创 法线变换矩阵

在早期版本的opengl中,在顶点着色器中有个内建的法线矩阵gl_NormalMatrix,因为GLSL 1.4版本之后这个内建变量就被删除了,所以这个工作就需要我自己去做了,今天我们就来讨论这个法线矩阵的推导过程。 首先这个法线矩阵是干什么的呢?我们先来说说光照计算,通常情况下会在两种坐标系下计算光照:观察坐标系和世界坐标系,当然人们会选择在观察坐标系下去计算,在观...

2019-08-03 14:10:58 2444 2

原创 OpenGL纹理投影

在opengl-4-shading-language-cookbook-3rd这本书上有一章节 "Applying a projected texture"这个例子本身是有点问题的,整个投影纹理原理和过程这里不讲述(和相机投影一样)关键点是如何求出我们自定义相机视锥体内的顶点对应的纹理坐标,注意视锥体内,这点很重要,那本书就没注意这点。物体顶点经过我们自定义观察坐标系最终投影到裁减...

2019-07-29 17:44:30 801 1

原创 Unigine贴花类及其三种类型贴花Unigine::DecalMesh、Unigine::DecalOrtho和Unigine::DecalProj

关于贴花官方是这个解释的:Adecalis a material projection on the surface. In fact, decals perform changing material parameters of the surface on which these decals are projected. It allows you to add a lot of a...

2019-05-10 16:28:50 510

原创 Unigine纹理材质Unigine::Material、Unigine::Texture简介和使用注意事项

Unigine::Material:Unigine多数渲染效果体现在其材质类中Unigine::Material,如各种纹理贴图和Shader着色器都在其中,不过Unigine对用户使用材质限制颇多,例如你不能直接向new一个对象一样new一个材质,它(Unigine2.5版本)没有构造函数,只能从文件中读取或在代码中从基础材质继承,当然即使是文件中的材质也必须从某类基础材质继承。例如在材质文...

2019-05-10 14:15:25 761 1

原创 编译osgearth2.10 osgEarthFeature编不过,报protobuff的问题

报一下错误和一堆无法解析的外部符号1>------已启动生成:项目:osgEarthFeatures,配置:Releasex64------1>libprotobuf.lib(io_win32.obj):errorLNK2038:检测到“RuntimeLibrary”的不匹配项:值“MT_StaticRelease”不匹配值“MD_DynamicRel...

2019-04-25 10:38:23 868

原创 编译osg3.70插件ffmpeg,播放视频

在编译osgdb_ffmpeg插件时会报错,是由于版本问题导致。键入以下命令可看到ffmpeg版本。ffmpeg.exe -versionffmpeg version N-89940-gb1af0e23a3 Copyright (c) 2000-2018 the FFmpeg developers会报以下错误:1>------ 已启动生成: 项目: Plugins ff...

2019-04-22 15:38:59 1108

原创 将osg和osgearth升级遇到的问题

将osg升到3.6.3、osgearth升到2.10时发现在画FeatureNode和LabelNode时,在我的工程代码怎么都不显示。但是同样的代码放到osgearth例子里就可以,百思不得其解,无赖一句一句对比,最后跟源码,最终发现LabelNode要加这句话: m_ptrViewer->getCamera()->setSmallFeatureCullingPixelS...

2019-03-29 12:17:04 1004 1

原创 osg3.4.1 osgearth2.8 Android安卓移植(四)

编译GDAL2.2.4:在CMakeLists.txt中添加:add_library( # Sets the name of the library. gdal SHARED src/main/cpp/3rdParty/src/gdal-2.2.4/alg/delaunay.c src/main/cpp/3rdParty/s...

2018-06-22 10:30:14 1626

原创 osg3.4.1 osgearth2.8 Android安卓移植(三)

测试读取osgt和osgb格式时,发现没有纹理,手动指定一张图片却可以。跟踪调试发现是osg在反序列化时,将Texture2D,Material等(继承自类StateAttribute)转为起StateAttribute失败:源码在osgDB::InputStream中167行这个模板函数: template<typename T> T* readObjectOfType...

2018-06-20 08:24:15 1182

原创 基于osg3.2.1 + osgearth2.6 国产银河麒麟三维系统移植

去年还是前年编的不记得了 ,现在记录一下。1. 通常编译步骤,进入源码根目录、在源码根目录中打开终端并依次执行下面三个命令:./configuremake       make install 2.如果源码根目录没有configure文件但是有CmakeLists.txt文件,那就用cmake,依次在终端中执行:cmake .make       make install 3.在执行make in...

2018-06-20 08:10:08 3841 4

原创 osg3.4.1 osgearth2.8 Android安卓移植(一)

编译curl7.53.1:1.在include\curl下新建curl_config.h,内容如下:/* lib/curl_config.h. Generated from curl_config.h.in by configure. *//* lib/curl_config.h.in. Generated from configure.ac by autoheader. *//* ...

2018-06-13 14:20:31 1060 1

原创 osg3.4.1 osgearth2.8 Android安卓移植(二)

编译libgif,在CMakeLists.txt中添加:add_library( # Sets the name of the library. gif SHARED src/main/cpp/3rdParty/src/giflib-5.1.4/lib/dgif_lib.c src/main/cpp/3rdParty/src...

2018-06-13 13:22:16 566

原创 osg3.4.1 osgearth2.8 Android安卓移植(预)

编译工具Android Studio ,使用cmake编译so动态库osg核心模块,jpeg,png,freetype第三方库和部分插件编译已完成,之前遇到很多坑都没记录,现记录一下,如有时间将之前的补上:curl7.53.1编译:1.在include\curl下新建curl_config.h,内容如下:/* lib/curl_config.h. Generated from curl_conf...

2018-06-12 16:24:21 2346 3

空空如也

空空如也

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

TA关注的人

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