自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 GAME ENGINE 笔记2 封装自己的日志系统

制作一个游戏引擎,logging系统是最基本的,提供了基础信息显示的功能。但是有没有办法自己从零开始手写一个log。所以应该学会如何封装开源的logging系统。SPGMIT开源的日志系统对于使用方法:s_CoreLogger = spdlog::stdout_logger_mt("HAZEL");对于使用对象,是一个指针,输入参数是对象的名称有了指针对象,可以调用其多种方法。namespace Hazel { class HAZEL_API Log { public: .

2020-07-05 13:59:25 276

原创 学习中遇到的奇怪bug(更新

①无法启动程序"xxx.dll"。 xxx.dll 不是有效的 Win32 应用程序Hazel作为engine side提供dll,并不是启动文件,把启动文件换一下即可

2020-07-05 10:46:38 190

原创 Lambdas in C++

Lambdas 可以让我们不用定义函数就可以使用函数 set a function pointer to a function#include <iostream>#include <vector>#include <algorithm>void ForEach(const std::vector<int>& values, void (*func)(int)) // function pointer{ for (int value

2020-06-27 22:04:49 157

原创 【OpenGL】Shader个人学习笔记(13)--渲染多个目标

在进行多目标渲染之前,需要对之前的内容进行总结对于渲染器类来说,由于自身包括了shader.bind()函数,所以不需要重复申明shader.bind() 语句,因为会造成冗余,在很多渲染引擎和游戏引擎中都会提示错误。最后一行是 draw callshader.Bind(); // bind a program for GPU to use to render thingsva.Bind(); // dataib.Bind(); // indicesGLCall(glDrawEleme.

2020-06-27 16:59:22 774

原创 【OpenGL】Shader个人学习笔记(12)--ImGui

ImGuiImGui 是一个Ui组件,可以在condole中动态调节显示https://github.com/ocornut/imgui需要包含的头文件#include "imgui/imgui.h"#include "imgui/imgui_impl_glfw_gl3.h"在主函数中ImGui::CreateContext();ImGui_ImplGlfwGL3_Init(window, true);ImGui::StyleColorsDark();...

2020-06-27 15:43:40 324

原创 【OpenGL】Shader个人学习笔记(11)--MVP

MVP stands for: Model View project matrices [pipeline]View matrix主要负责摄像机视角的转动,project matrix主要负责转换,在OpenGL中,规定:(倒序)Model 负责模拟物体glm::mat4 mvp = proj * view * model;通过是3个4x4的矩阵实现三变二float positions[] = {//后两个是texCoord 100.0f, 100.0f, 0.0f, 0.0f,

2020-06-27 15:37:20 519

原创 【OpenGL】Shader个人学习笔记(10.5)--Projecting Matrix

Projection地形、人物、光照等等(三维信息)------->Vertex------>project------>屏幕2D信息https://www.youtube.com/watch?v=xZs6K7VLM7A&list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2&index=20前两个是X范围,中间是Y范围,最后是Z范围glm::mat4 proj = glm::ortho(-2.0f, 2.0f, -1.5f, ..

2020-06-25 23:15:25 113

原创 【OpenGL】Shader个人学习笔记(10)--Projecting Matrix

利用OpenGL调整绘制的比例,使其成为一个不拉伸的图像Cherno大佬的symbol​​​​​used commonly as transformation: to create an illusion like camera moving输出屏幕不是标准的vector : a direcition & magnitude & lengthdirectional vector positional vectormatrices:(coming to com..

2020-06-25 21:54:37 243

原创 【OpenGL】Shader个人学习笔记(9)--Blending

“Blending determines how we combine our output color with what is already in our target buffer”https://www.youtube.com/watch?v=o1_yJ60UIxs&list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2&index=18Cherno 大神做ppt了,爷青结The Cherno​​​...

2020-06-25 20:11:51 163

原创 【OpenGL】Shader个人学习笔记(8)--Textures

Texture的原理specify for each vertex that we have of our rectangle(顶点绘制情况) what area of the texture it should be and then the fragment shader will interpolate between that即指定为每个顶点,rectangle(顶点绘制情况)区域的结构应该是什么,然后着色器将之间插入片段Texture.cpp#include "Texture..

2020-06-25 19:19:04 166

原创 【OpenGL】Shader个人学习笔记(4.5)--Uniform

#include <GL/glew.h>#include <GLFW/glfw3.h>#include <iostream>#include <fstream>#include <string>#include <sstream>#define ASSERT(x) if(!(x)) __debugbreak();#define GLCall(x) GLClearError();\ x;\ ASSERT(GLLog.

2020-06-25 00:32:01 191

原创 【OpenGL】opengl个人学习笔记(7)OpenGL初始设定【VS2019】

【补档】在OpenGL开始之前的设置首先在解决路径根目录下创建文件夹Dependencies/GLFW将OpenGL开源库https://www.glfw.org/download.html中的文件下载粘贴下面的文件拷贝至创建的文件夹下打开属性页$(SolutionDir)的路径就是当前自己解决方案路径的绝对路径,可以在此基础上用相对路径设置dll和lib设置头文件包含对于E:\VisualStudioProjects\OpenGLRe\OpenGL\Dep...

2020-06-24 18:22:19 330

原创 【OpenGL】Shader个人学习笔记(6)Renderer类

把所有的GL函数整合进Renderer类中Renderer.h#pragma once#include "GL/glew.h"#include "VertexArray.h"#include "IndexBuffer.h"#include "Shader.h"#define ASSERT(x) if(!(x)) __debugbreak();#define GLCall(x) GLClearError();\ x;\ ASSERT(GLLogCall(#x/* 把函数名当做字

2020-06-23 16:35:52 631

原创 【OpenGL】Shader个人学习笔记(5)利用 VertexArray对多个Buffer进行绑定

之前已经学习了单个shader的buffer和layout绑定,如果需要对多个vertex buffer进行绑定,则需要声明一个类的容器。unsigned int ibo; // index buffer objectGLCall(glGenBuffers(1, &ibo));GLCall(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo));GLCall(glBufferData(GL_ELEMENT_ARRAY_BUFFER, 6 * sizeof(

2020-06-23 12:35:55 1170

原创 模板templates

/*泛型generics和模板templates模板templates 很强大,编译器可以根据设定的规则code(蓝图),但是要用之有度 可用的:logging日志系统,材料系统泛型generics受系统类型限制*/#include <iostream>#include <string>#define WAIT std::cin.get();#define LOG(x) std::cout << x << std::endl//tem.

2020-06-23 11:37:23 148

原创 【OpenGL】Shader个人学习笔记(4)--如何完全解决OpenGL中的报错

如何解决OpenGL中的错误(OpenGL 4.3及以上)在4.3版本里加入了返回详细日志报错内容的函数 :GLGetErrorhttp://docs.gl/gl4/glGetError在最开始设置清空之前错误的方法static void GLClearError(){ while (glGetError() != GL_NO_ERROR);}static void GLCheckError(){ while (GLenum error = glGetError()) {..

2020-06-20 18:25:38 976 1

原创 【OpenGL】Shader个人学习笔记(3)Index Buffers

利用Index Buffers来避免vertex重复可以把不同的点进行标号,我们就可以只声明不重复的的点来绘制三角形,这样可以提高绘制的效率,在复杂项目中体现更为明显float positions[] = {//逆时针绘制 -0.5f, -0.5f, //0 0.5f, -0.5f, //1 0.5f, 0.5f, //2 //0.5f, 0.5f, -0.5f, 0.5f, //3 //-0.5f,-0.5f };//vertex shader 会调用

2020-06-20 17:52:25 249

原创 【OpenGL】Shader个人学习笔记(2)对Vertex 和 Fragment的命令行代码独立至单独的文件

Deal with Shaders in OpenGL书接上文CreateShader函数 take in 字符创指令生成shaderstd::string vertexShader = "#version 330 core\n" "\n" "layout(location = 0) in vec4 position;"// OpenGL的gl_Position是要求一个4维的vector "\n" "void mian()\n" "{\n" " gl_Position = p.

2020-06-20 17:36:10 361

原创 【OpenGL】Shader个人学习笔记--利用Shader画一个三角形

最常用的两种 shader :vertex shader OR fragment(pixel) shaderdata(CPU) -> GPU -> draw call -> shaderDraw Call就是CPU调用图形编程接口,比如DirectX或OpenGL,来命令GPU进行渲染的操作。vertex shader: 告诉 OpenGL 你想要 vertex 出现在屏幕空间的何处fragment(pixel) shader : 栅格化,每个小三角形什么颜色...

2020-06-20 15:53:41 603

原创 如何利用Vertex Buffers在OpenGL里画一个三角形

基于你选定的Shader和Buffer去绘制某个三角形,OpenGL是一种状态机,意思是OpenGL不是一个对象instead of me just saying draw me a triangle and pass everything that opengl needs toknow to draw the that triangle it actually knows what it needs to doOpenGL work draw a triangle and base on whi.

2020-06-20 11:20:52 301 1

原创 虚幻官方文档使用UMG(虚幻运动图像)的用户界面笔记[VS2019]

官方文档的教程比较机械,个人整理笔记如下本文是对官方文档的注释,并不是教程教程地址https://docs.unrealengine.com/zh-CN/Programming/Tutorials/UMG/index.html本文仅是对机械操作进行翻译和个人理解阐述代码部分有的文件名多了Base,这并没有什么影响我在敲代码的时候犯了一个很蠢的错误,在.Build.cs中把UMG写成了UMPpublic: /** 移除当前菜单控件,并在指定类(如有)中新建控件。*/ .

2020-06-19 12:25:04 678

原创 【新手入坑】如何在github上发布自己的Visual Studio项目[VS2019]

是个人手动添加的,还有一种方法即利用VS自带的push,移步:https://blog.csdn.net/qq_37512323/article/details/80693445新建项目新建一个VS2019项目,以C++空项目为例。简单写下测试:打开个人github,在左上角选择 new respository回到文件夹里项目的sln根目录输入cmd输入git clone https://github.com/你的用户名/刚才输入的项目名...

2020-06-18 12:49:31 744

原创 GAME ENGINE 笔记1 Setup Basic Application and & Sandbox

最近在学习c++,TheCherno大佬的课程,这个Game Engine的课程感觉特别好,一路跟下来,打算写点总结和感想Cherno大佬的视频有up传到了b站上https://www.bilibili.com/video/BV1KE41117BD/?spm_id_from=333.788.videocard.1个人的follow up更新在git上https://github.com/kerin-2020/Hazel(只是个人总结,有问题请赐教)...

2020-06-18 11:50:53 219

原创 利用Tensorflow中的TFRecord生成与读取图片

本人是深度学习的爱好者,最近在参加cv的表情识别训练,把一些步骤和过程记录下来一.什么是TFRecord对于计算机的内存来说,我们训练集样本的数目是巨大的,而且这些文件分散在不同的文件夹中,在存读取的过程中会耗费大量的时间和硬盘资源,此时就需要我们用TFRecord的储存格式来帮助存储数据。protuBufTFRecord使用了名为“Protocol Buffer”二进制数据编码方...

2020-02-20 11:08:57 502

原创 NameError: name 'load_model' is not defined

在使用keras读取模型时应调用load_model函数需要import:from keras.models import load_model

2019-07-19 11:05:30 11620

利用OpenGL shader在控制台显示图像

显示图像,并利用imgui动态调节位置的一个例子实现,有些地方做了注释,更仔细的注释我放到我的博客里了,欢迎大家指正

2020-06-27

基于MATLAB和双线性变换的滤波器设计

基于MATLAB和双线性变换的滤波器设计

2018-05-17

空空如也

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

TA关注的人

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