- 博客(18)
- 收藏
- 关注
原创 Visual Studio+Opengl剖析(四)——Opengl图形变换
计算机图形是将世界中或意识中的形态抽象为显示模式,建模到计算机显示过程中,隐式的大致经过了几何变换、投影变换、裁剪变换、视口变换的过程,我们才能在计算机可视化区域内看到图形;场景中显示的部分称为窗口或裁剪窗口,此区域外的场景均要裁去,只有在窗口内部的图形才能显示到屏幕上,将窗口映射到显示设备上的坐标区域称为视区;变焦距:将不同尺寸的窗口映射到固定尺寸的视区中缩放:固定窗口尺寸,改变视区的大小1、几何变换建模变换(图形的生成过程)的过程都为几何变换。
2023-06-10 15:38:47
402
原创 Visual Studio+Opengl剖析(三)——Opengl基础
前两章介绍了vs+opengl窗口的GDI的基础关联,这一章将带着小伙伴们进入Opengl的使用;在使用API之前需要对OPengl有所了解;Opengl具有可跨平台性,Opengl有自己的渲染环境及数据类型和API命名方式,此类型类似于c语言类型,只不过类型前面加入了GL,例如:c为int ,opengl为GLint;为了代码的可移植性,在扩展Opengl时,建议使用Opengl规范编程;
2023-06-10 14:11:38
277
原创 Visual Studio+Opengl剖析(二)——Opengl渲染环境
Visual Studio+Opengl剖析——Visual Studio可视化界面剖析》了解了消息传递机制及环境创建流程,那么这篇将会带你了解,openg在windows操作系统下与VS渲染环境的绑定介绍;opengl是一种开放的三维图形API,在显卡基础上的一种API规范,各大显卡厂商都会遵循此规范,所以opengl在各平台能够十分方便的移植;Opengl独立于窗口系统和操作系统,也是可高效移植的重要原因,Opengl拥有自己的渲染环境,
2023-06-10 11:46:04
285
原创 Visual Studio+Opengl剖析(一)——Visual Studio可视化界面剖析
创建窗口,当此函数调用后,注册的窗口才被创建,将会返回一个关键的句柄,使用此句柄可获取到一些图形相关的句柄,在扩展和绑定图形引擎时将起到关键性的作用;注册窗口类,需要传入一个窗口结构体,当注册窗口后,使用CreateWindowW()将此窗口创建出来,此结构体,有一个关键的回调函数(CALLBACK),此函数是对所有消息机制的一个处理。将处理后的消息,推送给回调函数,此函数是在注册窗口结构体时,关联的回调函数(CALLBACK)(参考RegisterClassEx)hWnd:取得其消息的窗口的句柄。
2023-06-01 17:04:09
1832
原创 Python总结——(三)Python元组基本常识
元组基本操作# -*- coding:utf-8 -*- #元组print("tuple")#列表适用于在程序中动态增长的数据集合,但在有些特殊#情景下需要不可被修改的列表,元组可以满足此需求#元组与列表的区别?# 1、元组用();列表用[]# 2、元组中的元素不能被单个修改# 3、元组不可动态增长tupleEx=(100,200,300)print(tupleEx)tupleEx=(100,200)print(tupleEx)for value
2020-12-20 09:17:07
109
原创 Python总结——python生成exe出现错误总结
Pyinstall不支持中文 #注释,文件头加入#coding:gbk生成exe报错,请检查文件头是否使用了#coding:utf-8编码方式;将#coding:utf-8改为#coding:gbk
2020-12-20 09:15:40
755
1
原创 Python总结——(二)Python列表的基本操作
Python列表基础学习:# -*- coding:utf-8 -*- # 2020-11-27# 赶潮儿# 列表:由一系列按特定顺序排列的元素组成;# 表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引写入即可ListTable=["1",'2','3']print(ListTable)print(ListTable[0])#练习 2name=["C","c++","C#","Python","Java"]print(name)print(name[0])
2020-12-06 22:54:51
160
原创 osg总结一:osg视察器NodeVistor 使用注意事项及剖析
不废话直接上!1、osg::NodeVistor继承模式:#mermaid-svg-iiFxdiogS37uyqTw .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-iiFxdiogS37uyqTw .label text{fill:#333}#mermaid-svg-iiFxdiogS37uyqTw .n
2020-11-25 09:06:43
702
原创 c/c++经验总结大全——#、##含义经典使用方式
“#” “##”c/c++经常使用# 、##来增加代码的整洁性、冗余性,能够避免过多使用继承来获取相同的API使用方式及含义介绍”#“即是运算符也是预处理作用:可以将普通文本字符被转换为一个可以被替代的语言符号例如:// #define LIB_CLASS(library, name) \ virtual const char* libraryName() const { return #library; }\ virtual const char* className() const
2020-11-24 09:09:19
499
原创 7Z+vs2015 x64编译配置
呦呵!逮到你撩。。。。。。7Z+vs2015 x64编译配置一 、简介:经常使用7z是一款解、压缩目的库,怎样编写一款自我加密解压缩的应用嘞,那吗就先从编译开始吧二、步骤下载7Z : 7Z网址https://www.7-zip.org/download.html选择.7z Any 7-zip source code;保存到—》你随意,千万不要改名~ 咳咳咳!!!!!2. 启动vs2015 配置x64管理器;3. vs2015选择打开工程项目,找到7z下载的那个目录,一直找到\CPP\.
2020-11-14 15:31:16
807
2
原创 PagedLOD功能介绍、注意事项、加载后不显示
1、PagedLOD为osg大型模型及图片的加载提供了快速渲染功能、降低程序加载模型占用内存;2、PagedLOD继承于LOD;与LOD的主要区别在于:a、是否有替代模型 b、以文件形式加载;c、降低内存使用3、使用PagedLOD时应注意(将避免模型加载失败或不显示): a、使用PagedLOD时需要设置可视距离(针对相机位置);b、使用PagedLOD时需要设置替代模型;c、使用PagedLOD时需要设置所要加载模型的模型文件(注意,不要直接加载模型,否则使用PagedLOD将没有意义)
2020-07-01 17:10:45
1741
原创 osg文件读写插件创建注意事项
在自己自定义一个osg文件读写机制时,需要注意几点:1、在构造函数中需要指定文件后缀名;例如:A(){supportsExtension(“1111”,“Load @.1111文件”);}2、在源文件中注册插件:例如:A.cppREGISTER_OSGPLUGIN(1111,A)3、osg读取文件机制是通过调用readNodeFile()形式调用,最终将会进入readNode()函数中;那么 在自定义的readNode()中,首要的就要先判断文件后缀是否为该插件要加载的文件,如果不判断见将会导
2020-06-30 09:37:44
393
原创 c/c++经验总结大全—-const使用方法(二)
const 使用大全接着c/c++经验总结大全—-const使用方法(一)继续完成咱们的大业.》修饰成员变量:在c/c++中作为修饰结构体(struct)/类(class)成员变量出现...
2020-04-21 17:09:05
130
原创 cmake编译osgEarth提示工程已被初始化
camke配置earth后点击finish提示工程已被初始化解决方法:找到OSG_INCLUDE_DIR,填入你已经编译好的OpenSceneGraph的include路径,再次点击configure
2020-04-15 18:07:16
236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人