自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Games101 笔记 Lecture 7-9 Shading (Graphics pipeline, Texture Mapping)

Games101 笔记 Lecture 7-9 Shading [Graphics pipeline, Texture Mapping]Graphics (Real-time Rendering) PipelineShader ProgramsTexture MappingGraphics (Real-time Rendering) Pipeline图形管线 or 实时渲染管线管线:从一个场景到一张图,中间经历的过程称为管线,表现的是一系列操作。过程:从一开始,输入是一堆空间中的点,并且经过了第一

2021-07-07 00:19:28 323

原创 Games101 笔记 Lecture 7-9 Shading (Shading Frequencies 着色频率)

Games101 笔记 Lecture 7-9 Shading [Shading Frequencies 着色频率]Shading Frequencies 着色频率Flat ShadingGouraud ShadingPhong ShadingDefining Per-Vertex Normal VectorsDefining Per-Pixel Normal VectorsShading Frequencies 着色频率着色频率实际是指将着色应用在哪些点上。Flat ShadingFlat Sh

2021-06-13 22:16:50 253

原创 Games101 课程笔记汇总(更新中)

Games101 课程笔记笔记Rasterization 光栅化Curves and Meshes 曲线和曲面Ray Tracing 光线追踪Animation / Simulation 动画与模拟课程大纲Lecture 1: Overview of Computer GraphicsLecture 2: Review of Linear AlgebraLecture 3: TransformationLecture 4: Transformation Cont.Lecture 5: Rasterizati

2021-06-13 00:41:37 1930

原创 Games101 笔记 Lecture 7-9 Shading (Illumination, Shading)

Shadingvisibility / occlusionShading简介Blinn-Phong Reflectance ModelDiffuse Reflection 漫反射概念介绍接收的能量到达的能量漫反射项小结Specular Term 高光项概念介绍半程向量高光项说明Ambient Term 环境光项概念介绍说明Blinn-Phong Reflectance Model总结visibility / occlusionz-bufferPainter’s Algorithm(如三角形存在循环遮

2021-06-12 23:53:01 397 1

原创 Games202 Lecture3-4之SAT: Summed Area Table

SAT: Summed Area Table一维二维分析一种可以准确进行范围查询的方式。数据结构: Summed Area Table (SAT)算法:prefix sum 前缀和一维对于一个存放texture的一维数组,构建一个等大的summed area table,这个table中每个元素的值是texture数组中该位置元素以及其左侧所有元素的总和。SAT(i)=∑j≤iTexture(j)SAT(i) = \sum_{\mathclap{j\le i}} Texture(j)SAT(

2021-06-11 23:29:26 507 1

原创 官方Markdown编辑器指引

官方Markdown编辑器指引欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何

2021-06-11 23:27:39 82

原创 【python编程从入门到实践】第九章总结-类

python编程 从入门到实践 第九章创建和使用类创建Dog类方法__init__()其他方法根据类创建实例Part One 练习使用类和实例给属性指定默认值修改属性的值Part Two 练习继承子类的方法__init__()给子类定义属性和方法创建和使用类创建Dog类class Dog(): """一次模拟小狗的简单尝试""" def __init__(self, name, age)...

2019-12-07 16:55:22 297

原创 【python编程从入门到实践】第八章总结-函数

python编程 从入门到实践 第八章 - 函数定义函数函数的定义方式向函数传递信息Part One练习传递实参位置实参关键字实参默认值实参错误Part Two练习返回值返回简单值让实参变成可选的返回字典结合使用函数和while循环Part Three练习传递列表在函数中修改列表--传递本体禁止函数修改列表--传递副本Part Four练习传递任意数量的实参传递任意数量的实参构成的列表结合使用位置...

2019-12-05 11:58:51 459

原创 【python游戏开发入门】《PYTHON游戏编程入门》第九章总结

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文为第九章知识点总结以及核心代码,欢迎交流第九章列表元组Block Breaker 游戏主干思路set level tupleinit the gameload level informationmove ball accroding to the vel n...

2019-11-28 10:51:18 391

原创 【python游戏开发入门】《PYTHON游戏编程入门》第八章总结

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文为第八章知识点总结以及核心代码,欢迎交流第八章冲突检测技术两个精灵之间的矩形检测两个精灵之间的圆检测两个精灵之间的像素精确遮罩检测冲突检测技术两个精灵之间的矩形检测pygame.sprite.collide_rect(left, right)用来检测...

2019-11-28 10:16:20 467

原创 【python编程从入门到实践】第四章总结-列表

python编程 从入门到实践 第一章遍历列表for循环单数和复数名称关于缩进忘记缩进忘记缩进额外的代码行不必要的缩进循环后不必要的缩进冒号Part One 练习关于数值列表range用法创建数值列表数值列表的简单计算列表解析Part Two 练习列表切片复制列表Part Three 练习元组元素不可变元组的遍历修改元组Part Four 练习代码规范性遍历列表for循环for elemen...

2019-11-26 11:16:51 264

原创 【python游戏开发入门】《PYTHON游戏编程入门》第七章总结

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文为第七章知识点总结以及核心代码,欢迎交流第七章自定义Sprite精灵类小精灵在飞的Demopygame.sprite这一章的内容书上介绍的比较笼统,没有说清楚具体内容。这里要多做一些注释以及自己的理解。自定义Sprite精灵类# MySprite.py...

2019-11-19 10:47:57 814 2

原创 【python游戏开发入门】《PYTHON游戏编程入门》第六章总结

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文为第六章知识点总结以及核心代码,欢迎交流第六章知识点星空图片的生成飞船绕行星运动知识点用pygame.display.set_mode()创建pygame的窗口时,实际是返回了一个pygame.Surface对象。加载位图:pygame.image....

2019-11-14 21:15:26 330

原创 【python游戏开发入门】《PYTHON游戏编程入门》第五章总结

知识点math.degrees(弧度)将弧度转换为角度math.radians(角度)将角度转换为弧度math.cos(弧度)计算cos值math.cos(math.radians(angle))math.sin(弧度)计算sin值math.sin(math.radians(angle))...

2019-11-12 14:14:57 202

原创 【python游戏开发入门】《PYTHON游戏编程入门》第四章挑战题

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文为基于第四章中bomb catcher的一个小改进,欢迎交流第四章介绍代码介绍这个游戏类似于平时玩的接红包的游戏。下面有一块板子(鼠标控制),要接住上面从随机位置掉下来的小球。分为4个level,第一个level垂直下落,且下落速度增长缓慢;第二个le...

2019-11-11 14:53:28 247

原创 【python游戏开发入门】《PYTHON游戏编程入门》第三章挑战题

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文暂为基于第三章中trivia_game的一个小改进,欢迎交流~第三章代码TIPs:代码import pygame, sysfrom pygame.locals import *import randomclass TriviaGame(obje...

2019-11-07 22:02:51 342

原创 【python游戏开发入门】《PYTHON游戏编程入门》第二章挑战题

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)本文为第二章后面的挑战题,欢迎交流第二章第一题题目关于pygame.draw.ellipse函数代码结果第二题题目代码结果第三题题目代码结果第一题题目使用本章的示例作为起点,编写一个程序来绘制一个椭圆,这是我们在本章中没有介绍的形状。关于pygame....

2019-11-04 17:50:34 270

原创 【python游戏开发入门】《PYTHON游戏编程入门》第一章挑战题

书籍:《PYTHON游戏编程入门》(More Python Programming for the Absolute Beginner)第一章题目第一题题目代码结果第二题题目代码结果第三题题目代码结果总代码题目第一题题目打开GeometryDemo.py程序,并且创建一个继承自Point 的新类,名为Ellipse。它有一个水平半径和垂直半径,而不是像Circle那样只有一个半径。代...

2019-11-04 16:33:05 911

原创 【python学习】Python中的函数

感谢廖雪峰老师提供了自学python很好的平台,以下内容仅作个人学习记录使用,侵删。附上链接: 廖雪峰的官方网站.python中的函数函数的调用函数的定义定义函数空函数参数检查返回多个值函数的参数参数传入默认参数可变参数递归函数函数的调用Python中提供了很多内置的函数,我们知道函数的名称和参数之后可以直接调用。如果不了解使用方法,也可以通过help()函数来查看该函数的帮助信息。函数...

2019-11-04 11:35:23 262

原创 【python游戏开发入门】pygame下载与安装教程

在python游戏开发时,需要使用pygame游戏库。本文主要介绍如何安装与当前python匹配的pygame。pygame下载与安装教程python安装查看python版本信息检查pip下载pygame地址一地址二pygame安装压缩包版本的安装.whl版本的安装彩蛋python安装要确保已经安装了python的一个版本。如果没有安装可以参考我之前的一篇文章。去python官网下载最新的...

2019-11-04 11:06:46 14955 15

原创 【python学习】python基础-判断与循环

感谢廖雪峰老师提供了自学python很好的平台,以下内容仅作个人学习记录使用,侵删。附上链接: 廖雪峰的官方网站.python基础(下)条件判断循环dictset条件判断Python中实现条件判断通过if语句来实现:语法为:if condition1: statements1: do something when condition1 is trueelse: statement...

2019-11-01 17:52:41 114

原创 【python学习】python基础-数据

感谢廖雪峰老师提供了自学python很好的平台,以下内容仅作个人学习记录使用,侵删。附上链接: 廖雪峰的官方网站.数据类型整数python可以处理任意大小的整数,包括正整数,负整数,0。十六进制的表示,使用前缀0x和0-9,a-f来表示。浮点数即小数。可以采用数学写法:1.11,-2.22。也可以使用科学计数法:1.11e10,-2.22e-9。在计算机内部存储的时候可能会有四舍五...

2019-10-31 16:49:45 145

原创 【python学习】python绪论

感谢廖雪峰老师提供了自学python很好的平台,以下内容仅作个人学习记录使用,侵删。附上链接: 廖雪峰的官方网站.python简介一种相当高级的语言是解释型语言(C++属于编译型语言)可以做日常任务;可以做网站;可以做网络游戏的后台但是,操作系统只能用C语言写;手机应用只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或...

2019-10-29 17:10:47 765

原创 【剑指offer】替换空格

题目:替换空格题目要求:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解决办法:解法一:搜索替换从左到右,找到空格就进行扩充、移动、替换操作。void replaceSpace1(char *str,int length) { if(str == NULL || leng...

2019-10-29 15:16:20 86

原创 【剑指offer】二维数组中的查找

题目:二维数组中的查找题目要求:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解决办法:解法一:暴力搜索既然给定了一个数组,既然要找某个值,最直接的方法就是遍历求解了:(开找!)bool Find1(int target, vector&...

2019-10-28 17:15:18 129

原创 【C/C++】函数基础

ABOUT函数函数基础什么是函数函数的调用形参和实参函数的返回值函数的声明参数传递传值参数传引用参数const形参和实参本文借助“C++ primer”一书第六章进行整理。函数基础什么是函数函数是一个命名了的代码块,通过调用函数执行相应的代码。一个典型的函数定义包含以下部分:返回类型函数名字由零个或者多个形参组成的列表函数体通过调用运算符来执行函数:一堆圆括号,作用域一个表...

2019-09-25 17:30:51 431

原创 【动态规划算法】从斐波那契数列谈起

读了这篇文章,让动态规划不再神秘斐波那契数列有这样一个有趣的故事:假设第1个月有1对刚诞生的兔子,第2个月进入成熟期,第3个月开始生育兔子,而1对成熟的兔子每月会生1对兔子,兔子永不死去……那么,由1对初生兔子开始,12个月后会有多少对兔子呢?斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以...

2019-09-20 11:30:35 557

原创 【动态规划算法】编辑距离问题

最近看到了一个编辑距离问题,是笔试和面试中的经典问题之一,在此顺一下思路。题目给定一个源串和目标串,能对源串进行如下操作:1.在给定位置插入一个字符2.替换任意一个字符3.删除任意一个字符要求函数可以返回最少的操作数,使得源串进行这些操作后等于目标串。思路我们之前接触过递归算法,所谓递归,就是指一种通过重复将问题分解为同类的子问题而解决问题的方法。而在递归的过程中会出现很多中间过程...

2019-09-20 10:22:42 497

原创 【C/C++】关于类占用的空间大小的一道题

今天看到了这样一道题://64位电脑 运行c++结果输出?)class A{ char a[2]; public: virtual void aa(){};};class B:public virtual A{ char b[2]; char a[2]; public: virtual void bb(){}; ...

2019-09-04 17:38:29 216

原创 【C/C++】关于struct和class以及类的访问权限

关于struct和classC中的struct与C++中struct的区别成员访问权限是否可以继承C++中struct与class的区别默认的访问权限不同默认的继承访问权限不同定义模板参数实例访问权限和继承访问权限访问权限继承访问权限C中的struct与C++中struct的区别成员C中的struct将一系列数据放在一个结构体中统一管理,只有数据,没有函数。C++中的struct允许同时又...

2019-09-04 16:10:02 8405 2

原创 【C/C++】构造函数调用次数

构造函数调用次数关于构造函数的调用次数,这里有个小总结:简单粗暴测试代码:#include <iostream>using namespace std;class Test{ int a;public: Test(){ a = 0; cout << "Default Constructor" << endl; } Test(Te...

2019-09-03 21:32:21 10125 5

原创 【C/C++】构造函数和析构函数的执行顺序

构造函数和析构函数的执行顺序我们在创建一个类的对象的时候,编译器会自动调用构造函数。由于这个类可能继承自某些类并且里面还有一些其他类的对象,那么他们的构造函数和析构函数的调用顺序是怎样的呢?LET’S HAVE A TRY!试验源码:#include <iostream>using namespace std;class O{public: O(){ cout &l...

2019-09-03 21:02:47 2296

原创 【C/C++】字符串在常量区还是在栈上?

字符串在常量区还是在栈上?有这样一道题:const char * a = "abc";char * b = "abc";const char c[] = "abc";char d[] = "abc";虽然都是abc这个字符串,但是会存放在哪里呢?于是在VS上做了一次实验,结果如下:我们可以得到这样的结论:const char * a = "abc";这里的字符串"abc"...

2019-09-03 20:40:23 3062 2

原创 【C/C++】关于static关键字

static关键字static在C中的作用static在C++中的扩展static:静态的static在C中的作用你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。static在C++中的扩展你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想...

2019-09-03 20:24:10 175

原创 【C/C++】cout的执行顺序以及i++与++i的深刻理解

cout的执行顺序以及i++与++i的深刻理解i++与++i的区别cout的执行顺序先看这样一个例子:i++与++i的区别i++,俗称先用后加;++i,俗称先加后用。i++不可以做左值,++i可以做左值。但是这是为什么呢?我们先来看一下他们的具体实现:i++ :const int int::operator++(int){ int old = *this; ++(*this)...

2019-09-03 19:33:11 2888 5

空空如也

空空如也

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

TA关注的人

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