自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牵LV小猪精的博客

一只会写Bug的猪

  • 博客(133)
  • 资源 (8)
  • 收藏
  • 关注

原创 OpenGL中的变换

OpenGL中的变换1. 矩阵变换1.1 缩放1.2 平移1.3 旋转1.4 矩阵组合2. 案例实现2.1 缩放:2.1.1 等比缩放2.1.2 不等比缩放2.1.3 镜像X方向2.1.4 镜像Y方向2.2 平移2.2.1 动态平移2.3 旋转2.3.1 动态旋转2.4 组合变换2.4.1 复杂的组合变换1. 矩阵变换在opengl中矩阵变换使用的为齐次坐标;使用齐次坐标有几点好处:它允许我们在3D向量上进行位移,同时也方便使用透视投影操作。本篇文章主要偏向于实现,不深究理论的知识。1.1 缩放为向

2022-04-10 21:31:26 1016

原创 OpenGL纹理叠加

OpenGL纹理叠加1. 纹理贴图的实现2. 纹理单元在OpenGL纹理贴图的基础上继续深入学习纹理相关内容,本篇文章的主要目的是为了实现OpenGL纹理叠加,需要引入纹理单元的相关概念。1. 纹理贴图的实现按照之前纹理贴图的实现方法在两个三角形组成的矩形内贴上星空和胡桃如下所示2. 纹理单元之前在绘制纹理贴图时着色器的编写如下所示:#version 330 coreout vec4 FragColor;in vec3 ourColor;in vec2 TexCoord;// t

2022-04-10 11:02:03 1626 3

原创 OpenGL纹理贴图

OpenGL纹理1. 基本概念2. 纹理环绕方式3. 纹理过滤3.1 GL_NEAREST3.2 GL_LINEAR3.3 多级渐远纹理 (Mipmap)4. 纹理加载与创建4.1 纹理加载4.2 纹理创建4.3 纹理的使用1. 基本概念纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来表示物体的细节特征,希望绘制一个有足够多细节的物体,当然可以用足够多的顶点颜色来描述,但是无疑也增加了许多额外的开销;另一种办法就是使用纹理。学习之前先展示一张实现的纹理图以更好理解纹理!还是这张图为了将纹

2022-04-09 20:56:30 7520

原创 OpenGL可编程着色器

OpenGL着色器1. 着色器语言(GLSL)1.1 一个典型的着色器的基本组成着色器(Shader)是运行在GPU上的程序,是一种把输入转化为输出的程序,着色器之间的通信只能依靠输入与输出。1. 着色器语言(GLSL)着色器依靠着色器语言实现编写,包含一些针对向量和矩阵操作的有用特性1.1 一个典型的着色器的基本组成#version version_number //声明版本in type in_variable_name;//in 输入变量in type in_variab

2022-04-08 21:17:47 691

原创 csdn Markdown样式

CSDN markdown样式文字样式段落格式图片样式分享一些表情文字样式👉字体样式<font face="宋体">你真帅</font><font face="黑体">你真帅</font><font face="微软雅黑">你真帅</font>你真帅你真帅你真帅👉字体颜色<font color=#FF0000> 你真帅 </font><font color=#32CD32> 你

2022-04-02 22:15:15 1274

原创 abaqus三点弯曲有限元模拟

ABAQUS三点弯曲有限元分析1.先创建梁模型125*25*252.生成三个三维离散刚性的圆柱,在工具》参考点中设置如图黄色所示的参考点,并在加工》壳》使用实体中选中模型中键完成2.属性设置,设置材料参数,材料行为中应该包括柔性损伤、密度、弹性、塑性(这些参数依据实际材料属性确定),由于圆柱为刚体,在设置过程中只需要设置梁的属性即可。将模型装配起来,结果如下所示设置分析步分析步选择 动力,显示 时长0.001在场输出中 状态/场/用户/...

2020-08-09 15:25:53 7941 7

原创 或的方式触发多个条件

【代码】或的方式触发多个条件。

2023-08-22 15:43:10 151

原创 typedef重复定义解决方法

如果头文件sm_system.h和math.h中均包含"typedef xxxx float_t"语句,那么使用如下的头文件包含方法:

2023-07-11 21:05:51 873

原创 VS多处理器编译提高编译速度

开启多处理器编译能够提升编译速度,特别是当工程巨大时候,编译速度往往很慢,打开多处理器编译效果明显,下面给出设置和对比。

2023-07-06 10:57:08 687 1

原创 渲染时场景变化平面始终朝向屏幕的操作方法

渲染过程中在实现一些贴图或者字符时希望当场景中相机视角发生变化或者物体发生位置变化时,贴图或者字符始终正面朝向屏幕即平面的法线需要始终朝向屏幕,这个问题有两种解决方法。

2023-04-28 15:08:31 185 1

原创 延迟渲染 Deferred Rendering

经过顶点着色器之后就到了曲面细分着色器,这个阶段是可选的,用来给模型的表面增加顶点数,并且产生更细微的凹凸,当然游戏中的大部分模型是不会做这个阶段的计算的,一般用在高质量游戏的渲染。前向渲染有一个问题就是无效渲染太多,比如场景中有四个物体,互相之间存在叠压关系,按照前向渲染的流程,先前渲染了一个物体之后,它的一部分被后一个渲染的物体挡住了,那么被挡住的这部分就是无效的计算,毕竟我们在屏幕上是看不到这部分的。延迟渲染可以支持大量的实时光照,所以现在的大型电脑游戏基本都已经是延迟渲染了。

2023-04-23 09:36:49 696

原创 VScode怎么将字体灵活缩放

VScode整体还是比较轻量级且强大的,但是刚开始用的时候发现字体是固定的,网上很多教程教怎么设置固定大小,但还是无法很舒服的操作,这边主要教大家怎么简单一步将字体灵活缩放。

2023-03-06 21:18:21 493

原创 opengles共享纹理

而OpenGL扩展则定义了一组新的OpenGL ES纹理目标,可以将EGLImageKHR对象绑定到这些纹理目标上。OpenGL ES 3.0中引入的“外部纹理”(External Textures)扩展,允许将OpenGL纹理对象绑定到由外部API创建的纹理对象,例如相机采集到的图像、视频流或其他图像数据。外部纹理扩展提供了一种标准化的方式,让不同的API(如相机API和OpenGL)之间进行数据传输,从而避免了通过复制数据到系统内存再从系统内存传输到GPU内存的过程,提高了数据传输的效率和性能。

2023-02-26 16:36:41 770

原创 python实现自动化鼠标点击

python实现自动化点击脚本

2023-01-27 19:50:46 4419

原创 WSL2 Ubuntu+gnome图形界面的安装血泪史(亲测有效)

这边已经升级为WSL2,官方资料说明其可以使用windows下的显卡驱动,嗯就很香~,言归正传,看看如何配置WSL2 Ubuntu+gnome图形界面。网上的参考资料基本没说清楚是用真linux还是虚拟机下的ubuntu,这点我绕了很多的弯路,也尝试了大部分比较靠谱的资料最后均无法实现!这边又有一个大坑,很多人在这边发现屏幕还是黑屏,我来来回回试了30多次吧,均也是这种情况,这时候可以去看看是不是VcXsrv被防火墙给拦截了。首先打开windows应用商店,输入ubuntu,这边我下载的是。

2023-01-18 10:56:07 20232 48

原创 makefile文件解释

makefile文件及相关指令讲解

2023-01-14 17:48:34 484

原创 windows创建窗口

一般来讲,要绘制或者渲染目标物体首先需要创建窗口,通常需要配合渲染API(opengl directx 等)来实现。这边主要介绍的是windows上最基本的窗口创建方式,抛弃MFC等内部创建调用的方式,通过最底层的调用来实现窗口的创建。

2023-01-10 21:44:33 779

原创 opengl shader实现Bezier曲线

【代码】opengl shader实现Bezier曲线。

2023-01-05 11:36:35 427

原创 HLSL笔记

常量缓冲区允许C++端将数据传递给HLSL中使用,在HLSL端,这些传递过来的数据不可更改,因而是常量。常量缓冲区对这种使用方式有所优化,表现为低延迟的访问和允许来自CPU的频繁更新,因此他们有额外的大小、布局和访问限制。c++端通过ID3D11DeviceContext::*SSetConstantBuffers指定特定的槽(slot)来给某一着色器阶段对应的寄存器索引提供常量缓冲区的数据。常量缓冲区(Constant Buffer)

2023-01-04 10:56:19 157

原创 ImGui实现Button高亮

ImGui Button控件高亮

2022-12-06 16:21:48 835

原创 使用 nlohmann 解析 json 文件

nlohmann 是德国工程师,以其名字为工程名的项目又被成为。

2022-11-27 19:33:22 3368

原创 VS在输出窗口显示信息

VS输出窗口的信息传给函数,函数内部调用系统函数OutputDebugString(),就可以把调试信息打印到输出窗口。

2022-11-01 09:54:58 1244

原创 linux命令与makefile学习

Linux上有一句话:一切皆文件普通文件 “-”目录文件 “d” (directory)管道文件 “p” (piping)链接文件“l” (link)接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。从左至右用 0-9 这些数字来表示。第 0 位确定文件类

2022-10-30 21:18:30 677

原创 imgui显示中文

imgui显示中文

2022-10-22 15:21:01 3464 2

原创 渲染到纹理RTT

创建一张纹理,纹理分辨率由用户设置,创建渲染目标视图,根据纹理宽高重新设置透视投影函数的宽高比以及视口的宽高,绘制目标模型,创建一张纹理D3D11_USAGE_STAGING,设置cpu可读,将数据从GPU拷贝到CPU,将读取的数据保存成jpg图片,然后恢复(与窗口一致)视口及透视投影函数的宽高,然后将Backbuffer与渲染目标视图绑定,绘制到后台缓冲,通过present显示到窗口。1.先创建帧缓冲可以查看。

2022-10-19 19:59:08 9

原创 d3d11释放问题

释放过程中遇到明明已经调用release()但是内存却没有下降,后来查看了其计数器n发现其不为0,也就是没释放干净,只是内部引用数减1。只有当内部引用数到达0时才会真正释放,因此我们需要将其释放直至计数为0或者可以使用。

2022-10-10 14:39:30 231

原创 gamma校正

而为了获取光照参数的纹理,像specular贴图和法线贴图几乎都在线性空间中,所以如果把它们也配置为sRGB纹理的话,光照就坏掉了。双曲线比使用二次函数变体在不用gamma校正的时候看起来更真实,不过但我们开启gamma校正以后线性衰减看起来太弱了,符合物理的二次函数突然出现了更好的效果。真实的物理世界中,光照的衰减和光源的距离的平方成反比。这种差异产生的原因是,光的衰减方程改变了亮度值,而且屏幕上显示出来的不是线性空间,所以在监视器上效果最好的衰减方程,并不是符合物理的。这和物理公式是很相似的。

2022-10-05 15:07:44 1236

原创 目标物体缩放方法

可以看出当h值不变,FOV越小,f值将会变大,那么其实我们能够看到更远的东西,相对画面大小不变,物体也就越大。相反如果h不变,视场角越大,焦距也就越小,能够看到的物体会越多,也越小。最容易想到的方法是通过改变相机的位置,将相机靠近或者远离目标物体从而实现物体大小的放大或者缩小。定义好传感器的高度h,和焦距f,能很轻松的算出。视场角FOV(Field of view)

2022-10-04 22:35:38 197

原创 MFC鼠标移入移出操作

【代码】MFC鼠标移入移出操作。

2022-09-26 10:09:04 461

原创 n维顶点模板类

【代码】n维顶点模板类。

2022-09-17 16:48:40 96

原创 obj模型文件的格式

一般带纹理的obj模型需要有以下三个文件,分别是。纹理库文件,还有纹理贴图(这里是。用记事本或者其他工具打开查看。

2022-09-04 16:22:09 2219

原创 MFC屏幕截图

实现屏幕截图,并保存多张图片。

2022-08-08 10:37:11 549

原创 MFC按钮禁用实现

遇到一个很蠢的问题(每次禁用后就自己变成可以用的),结果弄了一下午才发现问题。结果就是不断更新,导致即使我已经将按钮都置为禁用,但是还是没有效果。函数,该函数能够实现循环,在函数体内我又写了。...

2022-08-06 17:55:39 1055

原创 Win32窗口

代码】Win32窗口。

2022-07-25 10:27:09 162

原创 实时渲染和离线渲染

实时渲染指的是一边计算画面,一边输出显示。特点是:能实时操控、实时交互,并且以极高的速度将3D图像处理了,同时实现了逼真的效果。实时渲染更多的是关注实时性与交互性,通常制作的场景是需要进行优化的,这样才可以提高计算画面速度,同时缩短延时。实时渲染的实时性是十分重要的,因为用户不论操作了了什么,都是需要得到实时的反馈结果的,例如,用户在键盘的输入,鼠标的电机等的操作,这些操作都会导致画面进行重新计算,得出新的结果。优点是可以实时操控(实现三维游戏、军事仿真、灾难模拟等)缺点是要受系统的负荷能力的限制,必

2022-07-03 10:56:46 2600

原创 C++和Python Java的区别

C++和Python Java的区别

2022-06-30 18:11:42 3491

原创 VS2019CPU/内存诊断功能

在代码运行过程中,有时候会出现内存泄漏,内存/CPU占用过高等情况,这些情况的出现十分影响代码的运行效率和鲁棒性,所以有必要对代码进行诊断和优化处理。这边使用VS2019自带的代码诊断工具进行检测。具体的操作方法是先在要诊断的代码部分添加断点或者让程序完整运行起来(最好是能够循环)运行代码(这边以绘制三角形为例子,屏幕是不断在刷新的)可以看到内存/CPU的运行状况这边以CPU使用率为例子,内存的占用查看也一样。选择一段或者是整段运行过程点击CPU使用率,再点击全部中断即可查看CPU占用情况CPU占用情

2022-06-16 12:25:05 6378

原创 D3D12编译遇到的问题

D3D12编译遇到的问题X3501 'main': entrypoint not foundLNK2019 无法解析的外部符号 _main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)案例测试X3501 ‘main’: entrypoint not found这边需要将.hlsl文件的项类型改为不参与生成LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)” (?inv

2022-05-29 10:15:17 745 1

原创 Shader Language编程语言(CG/HLSL/GLSL)

Shader Language编程语言Shader Language编程语言Shader Language编程语言Shader Language目前主要有3种语言:基于 OpenGL 的 OpenGL Shading Language,简称 GLSL;基于 DirectX 的 High Level Shading Language,简称 HLSL;还有 NVIDIA 公司的 C for Graphic,简称 Cg 语言。OpenGL(全写Open Graphics Library) 是一个定义了

2022-05-27 16:56:29 939

原创 Opengl同时显示模型和三角网格线框

Opengl同时显示模型和三角网格线框glPolygonMode 函数及相关参数同时显示模型和三角网格线框glPolygonMode 函数及相关参数glPolygonMode(参数1, 参数2);参数1 可以为: GL_FRONT、GL_BACK、GL_FRONT_AND_BACK参数2可以为:GL_LINE(注意区分GL_LINES)、GL_FILL实现效果如下:针对三维三角网格模型首先使用glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);得到的网格模型如下

2022-05-26 20:40:06 1014

voronoi 2d 维诺图源代码

voronoi 2d 维诺图源代码下载,可编译,运行值得学习

2024-02-22

LINUX egl X11 opengl代码 可以直接运行

LINUX egl X11 opengl代码 可以直接运行,包括makefile文件,可以参考编译

2023-08-14

番茄助手可用于vs2022及以下版本

番茄助手可用于vs2022及以下版本,运行安装时选择win7兼容

2023-06-26

学习动态库的编译,以及如何加载动态库生成可执行文件

动态库.dll加载案例,学习动态库的编译,以及如何加载动态库生成可执行文件

2022-11-07

Tetgen库的显示配套文件 tetview

方便Tetgen库的显示配套文件 tetview

2022-06-15

Typora markdown编辑器

Typora markdown编辑器功能强大,界面简洁,使用简单,看起来十分大气,体验良好,可以支持不同类型编辑器的转换,支持Window系统,并且Typora 支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编辑器的有编辑栏和显示栏。内部文档有关安装方法,资源齐全

2022-04-26

games101pdf课件

games101课件,计算机图形学相关基础内容,包括mvp,管线,光栅化,光线追踪,模拟,动画等内容。

2022-04-05

三点弯曲有限元模拟.zip

模型已经做好可以查看云图结果和动画

2021-12-29

Voronoi2.rar

C++MFC编译的二维voronoi图

2021-08-17

齿轮有限元分析.zip

齿轮啮合时的动态分析

2021-05-19

abaqus_material.zip

abaqus材料资源,方便添加常用材料,快速选择参考材料方便后续处理,里面包含金属,非金属,塑料,陶瓷等

2020-08-10

emmit 插件pyv8.zip

window10下的sublime text3 html emmet插件所需要的PyV8亲测有效,内附教程!本人也折腾很久,最后整理出来,其他系统的有需要也可以联系我谢谢!

2020-05-22

空空如也

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

TA关注的人

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