- 博客(199)
- 资源 (16)
- 收藏
- 关注
原创 OCCT学习003-----MFC单文档工程
OCCT学习003-----MFC单文档工程创建longlongway2012@hotmail.com背景window平台下开发软件,常用的c++界面开发主要使用MFC,虽然近些年几乎被淘汰,但对于传统软件公司,仍然没有抛弃掉。后起之秀Qt也很受欢迎,以后再研究,这里先从MFC开个头。开发准备vs2010开发环境occt 7.2版本最新的vs已经到了2019,下一个版本估计是2021了,但对于研究机制,差别不是很大,其他人可以进行尝试。创建工程和环境配置创建MFC单文档工程和运行环境
2020-11-22 22:40:13
70
原创 OCCT学习002-----环境搭建
OCCT安装与测试longlongway2012hotmail.com一、前言occ作为开源软件,可以通过官网注册下载,也可以从网上搜索别人的分享连接来获得。官网occ7.5下载地址。最新版增加了很多新的特性,同时需要vs2017支持。本人受机器空间限制,使用vs2010作为学习环境,因此使用opencascade-7.2.0-vc10-64.exe版本作为基础学习。二、occ安装过程运行安装程序,可以选择全部安装或自定义安装,自定安装可以只选择需要的组件进行安装。安装完后,源码根目录如下:以
2020-11-08 21:39:29
634
原创 OCCT学习001-----简介
Open CASCADE Technology(简称OCCT)一、概述Open CASCADE是由法国Matra Datavision公司开发的CAD/CAE/CAM软件平台。具有3D曲面和实体建模,CAD数据交换和可视化提供服务的开源软件开发平台。OCCT主要以C++类库形式对外提供功能包,并支持c#、Tcl、java等语言扩展。同时支持跨平台软件开发部署,包括Windows(IA-32和x86-64),Linux(x86-64),OS X / macOS(x86-64),Androi
2020-11-04 23:45:25
481
7
原创 webgl1.0下texture2D和texture2DProj区别
结论:webgl中存在texture2D和texturre2Dproj其区别: 1. texture2D和texture2DProj的区别就是texture2DProj内部会除以coord的最后一个分量; 2. 使用texture2DProj可以不设置纹理的GL_TEXTURE_COMPARE_MODE,从而自己获取深度进行比较; 3. webgl1.0在我的...
2020-02-10 21:52:30
736
原创 CryEngine5 Shader调试
CryEngine5 的调试与上一篇CryEngine3基本一致,所以实际测试发现还是有些不一样,需要注意的是:1. Shader Cache 目录默认为:C:\Users\Administrator\Saved Games\gamezero\shaders\cache\d3d112. 配置本地编译服务器总是提示Shader 编译失败,关闭编译服务器,则可以正常编译(没搞明白)3. ...
2020-01-07 10:09:03
218
原创 CryEngine3 调试Shader方法
CryEngine3 可以使用GPA RenderDoc NSight等工具进行Shader调试,前提是要开启CryEngine的Shader调试模式具体方法如下:1. 开启Shader编辑模式: 在System.cfg 或Editor.cfg 添加如下变量参数:sys_PakPriority = 0r_reloadshaders = 1 r_ShadersEditin...
2020-01-07 09:43:20
142
转载 D3d Shader Instruction
https://www.3dbrew.org/wiki/GPU/Shader_Instruction_SetContents1Overview 2Nomenclature 3Instruction formats 4Instructions 5Operand descriptors 6Relative addressing 7Comparison operator...
2020-01-07 09:05:23
106
转载 CryEngine技术
http://advances.realtimerendering.com/s2010/Kaplanyan-CryEngine3(SIGGRAPH%202010%20Advanced%20RealTime%20Rendering%20Course).pdfhttps://www.zhihu.com/question/20787099
2019-12-23 11:17:48
130
转载 C++修改Exe中的bmp图片
问题描述 使用MFC创建一个exe,该exe中使用了一张bmp作为背景图。后期需要根据应用修改背景图而不重新编译exe。问题处理// Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//In my resource file of the WINAPI PROGRAM://IDI_ICON ICO...
2019-08-02 15:30:40
283
转载 OnGetMinMaxInfo妙用,实现假全屏
一般,全屏后,需要最前端显示(HWND_TOPMOST),但这样所有的其他窗口都能点出来,能否以一种方法,既可以全屏(窗口激活时),同时任务栏被覆盖掉。点击其他窗口时,其他窗口也可以正常显示。OnGetMinMaxInfo是一种好的解决方法。具体实现思路: 1)利用Windows API提供的一个结构体WINDOWPLACEMENT来存储全屏显示前视图和主框架窗口在屏幕上的位置和显示信息...
2019-07-25 17:47:29
321
转载 OpenGL和Shader版本
OpenGL Version GLSL Version 2.0 110 2.1 120 3.0 130 3.1 140 3.2 150 3.3 330 4.0 400 4.1 410 4.2 420 4.3 430
2019-07-03 21:57:02
542
原创 CEGUI界面无法显示问题处理
使用CEGUI+osg进行集成,照着网上的例子抄了抄,在osg3.0版本下运行没有问题,但切换到3.6 版本就怎么都无法出现界面,后来发现,是自己使用过程中,对代码的理解不够清晰,仅限于抄代码,而没有去理解为什么这样写,知其然,不知其所以然,肯定是不行的,为此付出了大量宝贵事件,特以此为警戒。出现错误的代码为:···C++void CeGuiMainWindow::drawImplement...
2019-07-03 11:00:33
109
原创 osg3.0 集成 CEGUI 0.8.7
集成的关键是从Drawable派生子类,在子类内部执行cegui绘制,同时需要注意CEGUI的初始化,需要放到realize()函数之后,否则无法拿到OpenGL HRC。核心代码如下:CEGUILayer.h#ifndef CEGUI_LAYER_H#define CEGUI_LAYER_H#include <CEGUI/System.h> #include <C...
2019-06-17 18:27:35
258
原创 自己的WebGIS 学习小站
[自己的WebGIS 学习小站](https://longlongwaytogo.github.io/LearnWebGIS/)[github](https://longlongwaytogo.github.io/LearnWebGIS/)欢迎访问,交流。。。
2019-06-05 16:08:13
838
原创 mapbox 本地切片的制作和访问
0. geojson文件从shapefile文件生成geojson文件有多种方法,本人使用过的有:0.1 Shapefile ViewerShapefile Viewer是 Ginkgoch 提供的一个实用程序,可以免费查看 Shapefile 文件的几何和属性,可以到处Geojson文件。0.2 Geojson.io一个在线的Geojson导入工具网站:[Geojson](http:...
2019-05-28 10:32:40
4539
4
原创 包含程序输出目录
有时,我们希望include包含程序输出目录,则${CMAKE_OUTPUT_DIRECTORIES}只能获取输出路径,无法获取当前的Config,经过查找,发现CMAKE_CFG_INTDIR 变量正好可以做此时。CMAKE_CFG_INTDIR对每个配置输出子目录的构建时引用。对于支持构建树中的多个配置的本机构建系统(例如Visual Studio和Xcode),该值是对构建时变...
2019-05-25 17:04:17
46
原创 mapbox style 翻译
source 属性解释Sources(数据源)说明1.source提供的数据将显示在地图上。源的类型由"type"属性指定,并且必须是vector,raster,raster-dem,geojson,image,video之一。添加源不会立即使数据显示在地图上,因为源不包含颜色或宽度等样式细节。图层引用源并为其提供可视化表示。这使得可以以不同的方式对相同的源进行样式化,例如区分高速公路层中...
2019-05-25 17:01:56
1713
原创 GeoServer+mapbox发布矢量瓦片(二):改进渲染风格
说明参考Mapbox例子中显示美国每个州的分布图,读取GeoServer发布的切片,html代码如下: <!--https://docs.mapbox.com/mapbox-gl-js/example/data-join/--><!DOCTYPE html><html><head> <meta charset...
2019-05-25 14:22:22
990
原创 GeoServer+mapbox发布矢量瓦片(一):创建美国区域显示
安装GeoServer使用Geoserver: geoserver-2.15.0.exe版本 和对应的vector tiles 插件参考:GeoServer+Mapbox配置Geoserver 数据Data_dir中的 美国各个州的shp作为数据源跨域问题:跨域使用 jetty的两个jar文件: jetty-servlets-9.4.9.v20180320.jar jet...
2019-05-25 13:23:10
838
翻译 OpenMW移植为OpenSceneGraph后的第一版(2015-06-07)
在过去三个月中,OpenMW团队一直在努力将代码库从Ogre3D引擎移植到OpenSceneGraph渲染工具包。在以前的文章对我们的动机会谈。我们很高兴地宣布移植工作终于取得成果 - 因为所有游戏玩法必不可少的功能已被移植,因此用户可以在OpenMW-osg开发分支中享受Morrowind的合法游戏。一些高级功能 - 着色器,远距离地形,阴影和水反射 - 尚未移植。然而,即使是这么早,可...
2019-03-12 09:22:18
226
翻译 OpenMW宣布切换到OpenSceneGraph的原因(2015)
自我们第一次发布以来,Ogre3D是OpenMW使用的渲染引擎。现在,OpenMW团队正在宣布远离这个引擎。在我们的alpha版本中,Ogre3D已证明非常有用,可实现快速开发。感谢Ogre3D,你今天已经可以在OpenMW中玩一个或多或少完整的Morrowind游戏,这本身就是一个令人难以置信的壮举。然而,为了让OpenMW进入抛光状态并添加最后几个缺失的功能,我们面临着艰巨的任务,要么...
2019-03-12 09:06:46
224
原创 OpenCV的命令行参数解析
1. 背景OpenCV提供了方便的命令行解析方法,一开始看到有点迷茫,经过测试觉得还是挺好用,具体代码如下。 2. 代码:#include <opencv2/opencv.hpp>#include <iostream>#include <string>using namespace std;using namespace cv;int...
2019-01-24 10:31:59
969
2
原创 利亚德虚拟演播技术分析
利亚德虚拟演播技术分析:涉及技术:动作捕捉LED显示技术多通道同步技术OptiTrack摄像机定位技术视频抠图技术(将捕捉到的人物与背景分离,不需要绿幕抠图)三维BPR显示引擎,合成虚拟场景美国平达电子对利亚德AR演播室的解决方案介绍:https://www.planar.com/products/led-video-walls/reality-solutions/平达电子...
2019-01-21 15:13:23
712
1
原创 GENERATED
GENERATED: 作为一个文件标记,表示改文件是由其他第三方工具生成的源文件,一般和add_custom_command(OUTPUT...) file(GENRATE)配合使用:Is this source file generated as part of the build or CMake process.Tells the internal CMake engine t...
2018-12-24 15:03:59
944
原创 add_custom_command 执行错误
add_custom_command: 带有OUTPUT参数的调用 用于生成项目中自动产生的源文件。 add_custom_command(OUTPUT output1 [output2 ...] # COMMAND command1 [ARGS] [args1...] # [COMMAND command2...
2018-12-24 14:39:05
1978
原创 CMAKE 包含VS输出目录
有时,我们希望include包含程序输出目录,则${CMAKE_OUTPUT_DIRECTORIES}只能获取输出路径,无法获取当前的Config,经过查找,发现CMAKE_CFG_INTDIR 变量正好可以做此时。 CMAKE_CFG_INTDIR 对每个配置输出子目录的构建时引用。对于支持构建树中的多个配置的本机构建系统(例如Visual Studio和Xcode),该值是对构建时变...
2018-12-21 16:28:23
830
原创 CMAKE 调用7z 执行命令
execute_process(COMMAND <cmd1> [args1...]] [COMMAND <cmd2> [args2...] [...]] [WORKING_DIRECTORY <directory>] [TIMEOUT <seconds>...
2018-12-18 17:35:20
205
原创 iframe高度自适应
1. 前言&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在html5 使用iframe标签,height设置为100%,显示结果只有很矮的一点点。需要通过调用脚本进行调整大小。###2. 具体情境html代码&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;h
2018-11-28 09:53:12
1081
原创 WebGL加载图片
摘要(Abstract) WebGL目前已经被大多数浏览器所支持,但是不同浏览器对图片文件的加载都所以差异。加载文件分为使用web服务器端数据和本地数据两种方式,以下就此问题进行讨论。关键字(key words)WebGL, Image, Texture, CROS(跨域资源共享) crossOrign1. 背景学习webGL,写几个简单的小例子没什么问题。但加载纹理图片,确出现了一...
2018-11-15 18:42:50
4137
1
原创 使用HudCamera绘制坐标轴
1. 前言最初一位Ortho2D投影矩阵下,后来想到它也是三维投影,只不过没有透视效果,绘制三维模型完全可以。2.实现思路创建相机,设置为POST_RENDER模式,并设置ClearMask为:GL_DEPTH_BUFFER_BIT(表示与场景绘制结果进行叠加)使用MatrixTransform节点进行组织axes模型,用于变换处理创建MatrixTransform节点的更新回调处理,...
2018-11-08 17:46:55
413
原创 OSG图元重启动绘制
1.OpenGL图元重启动图元重启功能,是OpenGL3.1版本以后支持的一项,快速绘制重复图元的技术。当需要处理较大的顶点数据集的时候,我们可能会被迫执行大量的OpenGL绘制操作,并且每次绘制的内容总是与前一次图元的类型相同(例如GL_TRIANGLE_STRIP)。当然,我们可以使用glMultiDraw*()形式的函数,但是这样需要额外去管理图元的起始索引位置和长度的数组。OpenG...
2018-11-05 17:22:49
599
原创 gl_NormalMatrix理解:
法线矩阵:G 模型视图矩阵:M 则: G: = M逆矩阵的转置矩阵 若: M是正交矩阵,M的逆矩阵= M的转置矩阵 所以,当没有Scale变换时,(只存在Rotate、Transform变换) ModelView = G OSG中计算 gl_NormalMatrix: ...
2018-11-01 10:58:28
502
原创 OSG 3.6.3 版本编译一些问题
编译OSG最新版本3.6.3,本以为没什么问题(因为曾经便已过N多次),但还是遇到些棘手问题,在这里做一总结。 1. 编译出现 osg库正常编译,osgDB编译提示找不到glColor4fv、 glLoadMatrix等基础函数。查明原因:gl.h引用出现错乱解决方法:打开include/osg/GL头文件,找到包含#include<GL/gl.h> 替换为本机绝...
2018-11-01 08:57:41
1273
原创 《OpenGL编程指南》第11章——Double-Write 案例分析
本案例主要讲解在Shader中如何使用图像(Images)对象。案例通过创建了一维纹理Buffer(TBO)用来作为颜色数据,通过绘制多个圆柱体,将绘制结果缓存到另一个Image中,再在后续的模型绘制中使用该图像数据。程序的主要执行流程:###1 创建TBO对象,用于保存1D 纹理数据: ```c++ GLuint m_image_palette_buffer; // 纹理缓冲区对...
2018-10-24 17:09:45
88
转载 新方法使虚拟现实中的无限行走变为可能
新方法使虚拟现实中的无限行走变为可能 中国数字科技馆百家号07-0914:37来源:计算机协会一位用户穿戴着研究者的实验装备——一个带有SMI公司视线追踪技术的Vive头盔显示器(Vive HMD)。叠加图是俯视图,记录了在一个3.5m×3.5m的真实房间里,用户的身体移动路径和一个在6.4m×6.4m的更大的合成空间里的虚拟路径。当用户转向定位时,目光的快速扫视能够显著增...
2018-10-18 11:41:06
250
原创 GLSL 着色语言中的一些知识笔记
Uniforms(前辍修改)Uniform前辍修饰的变量初始值由外部程序赋值。在program中具有统一访问空间,存储空间有限。在Shader中是只读的,只能由外部主机程序传入值。 它用于存储shader需要的各种数据,如:变换矩阵、光照参数和颜色。基本上,对于Shader是一个常量,但在编译时其值未知,则应当作为一个uniform变量。 Uniform变量在Vertex Shader和F...
2018-10-15 10:28:48
219
原创 OpenGL编程指南8-Transform Feedback例子理解
transform feedback 是,OpenGL管线中,的,顶点处理阶段结束之后,图元装配和光栅化之前的一个步骤。transform feedback,可以重新捕获即将装配为图元(点、线段、三角形)的顶点,然后将它们的部分或全部属性传递到缓存对象中。transform feedback主要APIvoid glGenTransformFeedbacks(GLsizei n, GLuin...
2018-10-15 10:18:54
387
原创 The Safe Bool Idiom学习
找到原作者的连接,很多代码无法执行,以下是修改后,在vs2015下运行通过的代码: /*The Safe Bool Idiomby Bjorn Karlssonhttps://www.artima.com/cppsource/safebool3.html*/class safe_bool_base {public: void this_type_does_not_supp...
2018-08-24 15:15:36
94
原创 CMAKE MFC 动态链接库创建问题
使用CMAKE 创建基于MFC 的DLL,程序运行后,主框架总是崩溃到了 theApp 的定义位置,经过翻来覆去的排查,最终发现:该问题即不是:subsystem问题,也不是线程模型问题,其实就是缺少: _USRDLL 的宏定义。甚至甚至。...
2018-08-23 15:44:29
247
原创 使用CMAKE和vcpkg配置项目
使用CMAKE和vcpkg配置项目1.vckpkg简介:Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement is vital to its success!Vcpk...
2018-08-03 11:38:09
8182
OSG Data数据包和第三方库
2010-03-31
SimplygonSDKV4x86.rar
2020-11-26
VRML 浏览器(WRL)
2009-06-11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝