自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ChernoOpenGL_Tutorial 目录

文章目录前言1. Welcome to OpenGL2. Setting up OpenGL and Creating a Window in C++3. Using Modern OpenGL in C++4. Vertex Buffers and Drawing a Triangle in OpenGL5. Vertex Attributes and Layouts in OpenGL6. How Shaders Work in OpenGL7. Writing a Shader in OpenGL8.

2021-12-27 21:28:49 454

原创 基于VSCode和CMake实现C/C++开发 | Linux篇

文章目录前言前言课程地址:https://www.bilibili.com/video/BV1fy4y1b7TC微软官方《设置 WSL 开发环境的最佳做法》:https://docs.microsoft.com/zh-cn/windows/wsl/setup/environment以下两个可以参考,但我并没有看:WSL安装教程:https://www.bilibili.com/video/BV1aA411s7PJWSL官方文档:https://docs.microsoft.com/zh-cn/

2021-12-09 22:33:37 3515

原创 TheChernoCppTutorial

文章目录1. 欢迎来到C++1. 欢迎来到C++使用C++的最大原因是直接控制硬件。用C++写的代码,这些代码被送去编译器去编译,这些编译器将代码输出为目标平台的机器码。机器码是你的设备在CPU上实际执行的指令。使用C++我们完全可以控制CPU执行的每一条指令。C#和JAVA与cpp不同,是因为它们运行在虚拟机上,这意味着代码首先被编译成一种中间语言,当在目标平台运行应用程序时,虚拟机在程序运行时再转换成机器码。C++是本地语言(native language)。比如x64编译器将输出x64机器代码

2021-11-16 19:00:04 2859 1

原创 GAMES202 Real-Time Global Illumination

人们还有一些trick,比如每次对shading point,我们不希望完整地跑一遍 shadow map 来算次级光源的影响,我们于是把这个shading point直接投影到shadow map下,然后仅采样它周围的像素认为是临近的像素。如上图,很有趣的是,AO和DO是完全相反的两种假设:AO认为红色圈是有间接光的,黄色圈是被遮挡的没有间接光的;对于第一个问题(哪些地方可以被光源直接照亮当作次级光源),可以用 shadow map 去找,shadow map对应的每一个像素就是一个次级光源。

2022-12-01 21:54:27 540 1

原创 GAMES202 Real-time Environment Mapping

p=5总结一下最早的这篇 PRT,它首先描述了用 SH 来把描述 lighting 和 light transport 两部分,对于 diffuse 的情况下就可以在每个 shading point 做一个点乘的操作,而如果是 glossy 的情况下每个顶点就做一个向量乘以矩阵的一个操作。

2022-11-27 23:05:37 554

原创 GAMES202 Real-time Shadows

文章目录前言Lecture 1Real-time Environment MappingImage-Based Lighting(IBL)前言课程:https://www.bilibili.com/video/BV1YK4y1T7yY?p=5Lecture 1一般达到 30 FPS(frames per second)就叫 real time 的。而有的领域比如 VR/AR 甚至要求要 90 FPS.interactive FPS 一般则要求低一些。这门课的四个话题:Real-time E

2022-10-31 00:30:58 470

原创 Cherno_游戏引擎系列教程(5):101~

文章目录引擎开发计划:101. Content Browser/Asset Panel102. Content Browser Panel - ImGui Drag Drop103. Textures for Entities!引擎开发计划:shader编译系统(cache)hlsl -> glsl参考:https://zhuanlan.zhihu.com/p/462659745https://zhuanlan.zhihu.com/p/56510874再借鉴虚幻引擎源码:可以利用 S

2022-04-21 17:45:02 731

原创 Cherno_游戏引擎系列教程(0):目录

文章目录1. Introducing the GAME ENGINE series!2. What is a GAME ENGINE3. DESIGNING our GAME ENGINE4. Project Setup Game Engine Series5. Entry Point Game Engine Series6. Logging Game Engine Series7. Premake Game Engine Series8. Planning the Event System Game En

2022-04-13 15:43:14 2526

原创 Cherno_游戏引擎系列教程(4):74~100

文章目录74. Where to go next + Code Review Game Engine series75. Entity Component System Game Engine series76. Intro to EnTT (ECS) Game Engine series77. Entities and Components Game Engine series78. The ENTITY Class Game Engine series79. Camera Systems Game En

2022-04-10 18:04:06 4376 1

原创 Cherno_游戏引擎系列教程(3):44~73

文章目录44. Shader Asset Files Game Engine series45. Shader Library Game Engine series46. How to Build a 2D Renderer Game Engine series47. Camera Controllers Game Engine series48. Resizing Game Engine series49. Maintenance Game Engine series50. Preparing for 2

2022-03-31 00:03:40 3842

原创 Cherno_游戏引擎系列教程(2):17~43

文章目录17. GitHub and Hazel Game Engine series18. Pull Requests Game Engine series19. Input Polling Game Engine series20. Key and Mouse Codes Game Engine series21. Maths Game Engine series22. ImGui Docking and Viewports Game Engine series23. Introduction to R

2022-03-24 17:06:42 4122

原创 Cherno_游戏引擎系列教程(1):1~16

文章目录1. Introducing the GAME ENGINE series!2. What is a GAME ENGINE3. DESIGNING our GAME ENGINE4. Project Setup Game Engine Series5. Entry Point Game Engine Series6. Logging Game Engine Series7. Premake Game Engine Series8. Planning the Event System Game En

2022-03-21 00:35:35 2844

原创 【科普】C++标准与标准委员会,你不得不知的那些事

文章目录ISO标准C 委员会 与 C++ 委员会如何制定标准C++ 的实现参考ISO标准这里直接照搬百度百科:https://baike.baidu.com/item/ISO%E6%A0%87%E5%87%86/9818656?fr=aladdinISO标准是指由『 国际标准化组织 (International Organization for Standardization), ISO 』制订的标准。 国际标准化组织是一个由国家标准化机构组成的世界范围的联合会,现有140个成员国。根据该组织章程,每

2022-03-17 00:43:35 4159

原创 GAMES101光线追踪

文章目录前言lecture 13为什么引入光线追踪?定义光线Ray Casting(光线投射)Recursive (Whitted-Style) Ray Tracing 基本原理技术细节Ray-Surface Intersection 求光线与场景的交点前言课程视频:https://www.bilibili.com/video/BV1X7411F744?p=13他人笔记:https://zhuanlan.zhihu.com/p/144403005https://zhuanlan.zhihu.co

2022-03-15 22:02:37 643

原创 D3D11_Chili_Tutorial(3):设计一个Bindable/Drawable系统

文章目录DirectXMath(原视频P21)3D Cube / Z-buffer(原视频P22)20:可绑定 / 可绘制系统p121:可绑定 / 可绘制系统p222:可绑定 / 可绘制系统p3DirectXMath(原视频P21)我们直接在 Graphics.cpp 中包含头文件#include <DirectXMath.h>(这个库已经包含在Windows SDK中了)为了方便我们先这样定义域:namespace dx = DirectX;然后我们就这样改写我们的 constant

2022-02-14 21:06:20 718

原创 D3D11_Chili_Tutorial(2):画一个三角形

文章目录

2022-02-13 15:36:38 1212 1

原创 Blender学习记录(甜甜圈)

文章目录前言热键:甜甜圈制作:糖霜制作:糖霜水滴建模:糖霜水滴雕刻:甜甜圈渲染:甜甜圈材质:甜甜圈纹理:甜甜圈撒糖:糖针随机颜色:前言参考教程:https://www.youtube.com/watch?v=nIoXOplUvAw&list=PLjEaoINr3zgFX8ZsChQVQsuDSjEqdWMADb站对应搬运:https://www.bilibili.com/video/BV1LS4y197SC/?spm_id_from=333.788.recommend_more_video

2022-02-09 17:06:17 23484 4

原创 谈谈C++预定义宏

文章目录参考预定义宏`#` 与 `##`关于 `__func__`参考Cppreference:https://zh.cppreference.com/w/cpp/preprocessor/replace微软家(MSVC):https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?redirectedfrom=MSDN&view=msvc-170GCC文档:https://gcc.gnu.org/online

2022-01-30 20:40:31 780

原创 D3D11_Chili_Tutorial(1):关于 Win API 及其封装

文章目录1:WINAPI篇——进入点WinMain1:WINAPI篇——进入点WinMain这些都是 Chili 的习惯设置,我们也跟着学习一下:创建好项目后,这个 Multi-processor Compilation 我们选 Yes。选 Favor fast code (/Ot):...

2022-01-25 00:23:55 538 4

原创 move 和 forward

关键的话:std::move 并不进行任何移动,std::forward 也不进行任何转发。move 和 forward 在运行期都无所作为。不会生成任何可执行代码,连一个字节都不会生成。函数形参永远是左值。 具名变量永远是左值。但是不具名的变量不一定是右值。(例如字符串字面量 “hello world” 也是左值)参考:https://zh.cppreference.com/w/cpp/language/identifiers命名某个变量、函数、概念的特化 (C++20 起)或枚举项的标识符

2022-01-23 17:19:10 1011

原创 深入理解C++智能指针——浅析MSVC源码

文章目录unique_ptrunique_ptrunique_ptr 是一个只移型别(move-only type,只移型别还有std::mutex等)。结合一下工厂模式,看看其基本用法,优先使用 std::make_unique :#include <iostream>#include <memory>class Animal{public: virtual void Print() const = 0;};class Dog : public Anima

2022-01-15 23:14:19 739

原创 Essential C++ 读书笔记

文章目录cerr标准库定义的 function objectadapterbinder adapterinsertion adaptercerr参考:https://zh.cppreference.com/w/cpp/io/cerrcerr代表标准错误设备(standard error)。和cout一样,cerr将其输出结果定向到用户的终端。两者的唯一差别是,cerr的输出结果并无缓冲(bufferred)情形——它会立即显示于用户终端中。标准库定义的 function object六个算数运算

2022-01-12 23:24:27 308

原创 再谈 C++ 多态(Polymorphism)

文章目录多态的本质使用虚函数的例子:不带继承的多态:C++模板多态的本质个人的理解:多态的本质是让我们得以用一种与类型无关(type-independent)的方式来操作这些类对象。参考 Essential C++ P137百度百科:在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。使用虚函数的例子:#include <iostream>

2022-01-12 19:15:14 336

原创 C++lambda表达式的类型

文章目录运算符重载转换函数不带 captures 的 lambda带 captures 的 lambda运算符重载参考:https://en.cppreference.com/w/cpp/language/operators如上参考链接,运算符重载大致有这样几种:其中 operator type 有些特殊,涉及到转换函数,不需要加 return type,见下。转换函数见我的笔记:https://blog.csdn.net/weixin_47652005/article/details/118

2022-01-09 22:29:41 1043

原创 python学习记录

文章目录环境wsl2 下 python2.7 安装ide 与 安装包学习记录一切皆对象字符串import this列表列表切片元组字典函数导入模块类装饰器设置代码格式python2 和 python3 的一些区别1. print2. 除法,python2 中整数除法只包含整数部分3. input4. 类pycharm 快捷键环境以前用的都是 python 3 的版本,可是无奈公司要 2.7 版本,我都是用 anaconda 装的,那么就只能在 anaconda 里头配置一下了,其实很简单,参考这篇博客:

2022-01-03 23:15:20 932 1

原创 ChernoOpenGL_Tutorial(4):28~32

文章目录28. Batch Rendering - An Introduction29. Batch Rendering - Colors30. Batch Rendering - Textures31. Batch Rendering - Dynamic Geometry32. Batch Rendering - IndicesSP32. Writing a BATCH RENDERER in ONE HOUR!28. Batch Rendering - An Introduction在这里我们将在一

2022-01-02 15:17:21 2277 1

原创 ChernoOpenGL_Tutorial(3):17~27

文章目录17. Textures in OpenGL18. Blending in OpenGL19. Maths in OpenGL20. Projection Matrices in OpenGL21. Model View Projection Matrices in OpenGL22. ImGui in OpenGL23. Rendering Multiple Objects in OpenGL24. Setting up a Test Framework for OpenGL关于 glClear、

2022-01-01 08:48:40 474

原创 ChernoOpenGL_Tutorial(2):13~16

文章目录13. Abstracting OpenGL into Classes14. Buffer Layout Abstraction in OpenGL15. Shader Abstraction in OpenGL16. Writing a Basic Renderer in OpenGL17. Textures in OpenGL18. Blending in OpenGL19. Maths in OpenGL20. Projection Matrices in OpenGL21. Model Vi

2021-12-29 04:15:26 2122 1

原创 ChernoOpenGL_Tutorial(1):1~12

文章目录前言1. Welcome to OpenGL2. Setting up OpenGL and Creating a Window in C++3. Using Modern OpenGL in C++4. Vertex Buffers and Drawing a Triangle in OpenGL5. Vertex Attributes and Layouts in OpenGL6. How Shaders Work in OpenGL7. Writing a Shader in OpenGL8.

2021-12-27 21:29:16 920

原创 油猴脚本编写

文章目录准备第一个简单的脚本获取新脚本正式学习编写额外可以参考准备Tampermonkey 官网:https://www.tampermonkey.net/官方文档:https://www.tampermonkey.net/documentation.php?ext=dhdg参考教程:https://www.bilibili.com/video/BV1Ng411E7DA?p=4此处使用 Microsoft Edge 浏览器。获取扩展:点这个扩展,然后打开加载项:进入官方扩展页面:

2021-12-20 13:33:05 6958 2

原创 GAMES103-基于物理的计算机动画入门(1~4,lab1)

前言本人的GAMES103笔记,以下分节根据知识点来分。同时包含了个人的一点补充。1. Introduction课程主页:http://games-cn.org/games103/B站链接:https://www.bilibili.com/video/BV12Q4y1S73g?from=search&seid=2084315763141666934&spm_id_from=333.337.0.0课程作业:http://games103.games-cn.org/课程安排:理想

2021-12-20 10:33:42 1107

原创 清华大学《走近医学》

文章目录前言1. 走进医学之门——医学的起源与发展,发热与血象分析2. 黄金几分钟——急诊(心肺复苏实际操作手法)3. 敬畏生命,尊重死亡——生命与健康4. 人体机能探秘——监测生命体征变化血压脉搏呼吸5. 争分夺秒——成人及儿童常见急症的紧急处理6. 为何要五花大绑——急性外伤(膝盖半月板损伤,脚踝骨扭伤,骨折)7. 十面霾伏——空气污染与肺疾患(鼻炎、哮喘、肺癌)实践测血压霾与雾 (Smog and Fog) 的对比PM(Particulate Matter)霾与肺疾患哮喘8. 谈癌一定要色变吗——肿瘤

2021-12-20 05:38:59 778

原创 nano 学习

文章目录前言前置基础知识文本编辑器 与 文本处理器配置文件Nano 初识常用快捷键Nano 的参数通过 .nanorc 来配置 Nano全局的 nanorc通过 .bashrc 配置终端终端的 bash 的全局配置文件profile 配置文件前言参考:https://www.bilibili.com/video/BV1Zv4y1o7vy?from=search&seid=16826058516623384953&spm_id_from=333.337.0.0官网:https://ww

2021-12-20 03:34:36 1955

原创 8086CPU(汇编语言,王爽)

文章目录前言Debug寄存器全部寄存器:通用寄存器CX和LOOP二重循环问题的处理段寄存器DS和[address]段前缀CS和IP(指令)SS和SP(栈)push 指令栈空间pop 指令段的综述SI 和 DIbx、si、di 和 bp标志寄存器 flagZF 标志PF 标志SF 标志CF 标志OF 标志代码段与多个段的程序数据、代码、栈放入一个段中数据、代码、栈放入不同的段其他指令记录incand 和 or[bx+idata]X ptrdivmuldb,dw 和 dddup转移指令offsetjmp段内短转

2021-12-14 20:48:36 1937

原创 从0到CPU

文章目录写在开头1. 基础知识写在开头仍然是最喜欢的一句话:“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”“Any problem in computer science can be solved by another layer of indirection.”1. 基础知识计组回顾:我也有点忘记了,通过https://www.bilibili.com/video/BV1EW411u7th?from=search&seid=1835996346203291473

2021-12-10 16:36:22 154

原创 Vim学习(劝退)笔记

文章目录前言Vim基本操作指南Vim一共有四种模式:普通模式输入模式命令模式可视模式修改插件前言视频教程:https://www.bilibili.com/video/BV1UQ4y1z7q5?from=search&seid=3590477496511797678&spm_id_from=333.337.0.0Vim基本操作指南Vim哲学:一切的操作都可以通过键盘来完成。甚至都不用方向键。Linux使用VScode:code + 要打开的文件夹,例如 code .,最后的句点表

2021-12-09 05:40:41 683

原创 C#快速入门

文章目录前言1. 基础类型,变量,函数2. 条件语句和循环语句3. 类,结构体,接口,继承4. 常用数据结构,泛型,反射,宏5. 异常,操作符重载,其他前言参考视频:https://www.bilibili.com/video/BV1sy4y1u7cwup主主页:https://space.bilibili.com/481436151?spm_id_from=333.788.b_765f7570696e666f.1菜鸟教程:https://www.runoob.com/csharp/csharp-t

2021-12-06 20:42:40 1944

原创 C++并发与多线程

文章目录前言1. 进程与线程2. 线程启动、结束,创建线程多法、join,detach重要补充:3. 线程传参详解,detach()大坑,成员函数做线程函数4. 创建多个线程、数据共享问题分析、案例代码5. 互斥量概念、用法、死锁演示及解决详解6. unique_lock详解7. 单例设计模式共享数据分析、解决,call_once8. condition_variable、wait、notify_one、notify_all9. async、future、packaged_task、promise10. f

2021-12-02 01:49:58 891

原创 《JavaScript语言精粹》

文章目录运行环境第一章:精华第二章:语法语法图数字字符串语句表达式第三章:对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染第四章:函数第五章:继承第六章:数组第七章:正则表达式第八章:方法第九章:代码风格第十章:优美的特性糟粕全局变量自动插入分号typeof运行环境我使用的VSCODE运行的,装了node.js:https://www.runoob.com/nodejs/nodejs-install-setup.html装了这些插件:然后就可以在html文件运行js(chrome)或者

2021-11-22 16:54:52 752

原创 PBR原理篇

文章目录前言1. 概览渲染方程(Render Equation)反射等式(Reflectance Equation)反射率方程:Cook-Torrance反射率方程:判断PBR的标准2. 辐射度量学辐射能量、辐射通量与立体角辐射强度、辐照度与辐射率3. 光源颜色基础三种光源平行光源(directional light)点光源(point light)聚光灯光源(spot light)4. Cook-Torrance BRDF漫反射部分法线分布函数D几何函数G菲涅尔方程5. 两套PBR流程“金属度/粗糙度”流

2021-10-31 16:01:24 1096

空空如也

空空如也

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

TA关注的人

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