自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HYJZ的博客

菜鸡

  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 3D游戏图形API简史

什么是图形API我们常听到的OpenGL、DirectX、Metal等都属于图形API,它的本质是一整套编程接口,用来将应用程序与显卡驱动联系起来。有了图形API我们可以仅仅调用它的函数来更改渲染状态、缓存顶点数据、开始绘制等等,而如果没有它,我们就需要直接调用显卡驱动的接口来进行渲染,这会涉及到非常多的硬件接口,例如对寄存器的操作,相当繁琐。一般来说我们都不会希望在渲染的同时还要去关注对硬件的控制。硬件显卡厂商例如NIVIDIA、AMD,他们如果要和图形API合作往往就需要在显卡驱动去实现这些API。

2020-05-16 14:53:20 2283

原创 图形程序学习过程分享.md

文章目录概述学习过程1.[learnopengl中文教程](https://learnopengl-cn.github.io/)2.《unityshader入门精要》中文书籍3.[catlike srp系列教程](https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/)4.UniversalRenderPipeli...

2020-05-06 10:37:43 347

原创 《军团要塞2》绘画渲染

军团要塞2绘画渲染(a)美术概念 (b)游戏内玩家看到的角色摘要在《军团要塞2》中我们提出了一整套美术方案和新的实时渲染技术,这种技术能实现出一种独一无二的渲染风格。《军团要塞2》由美术和程序基于20世纪初时商业插画中的传统风格合作完成。在这篇论文中,我们会结合美术方向与技术选择,来讨论如何支持美术目标和玩法限制。除了实现一种有冲击力的风格外,我们也设计了边缘光照和亮度与色调变化的着色器技...

2020-02-19 10:38:24 1415 1

原创 OpenGL之帧缓冲

本文主要包括帧缓冲的基本概念、函数使用,以及引出离屏渲染和后处理的介绍。文章目录概要帧缓冲附件函数纹理附件渲染缓冲对象附件附件类型的选择后处理离屏渲染离屏渲染与双缓冲来源概要所谓帧缓冲是做什么用的,就是用来存储渲染数据的地方,可以理解为显存。几何数据(顶点坐标、纹理坐标等)和纹理经过一系列渲染管道最终计算出屏幕上的所有像素点,它们需要一个地方来存放,这个地方就是帧缓冲。帧缓冲中的数据会被显示...

2019-04-17 13:37:02 4368

原创 [Effective Python笔记]二、函数

文章目录尽量用异常来表示特殊情况,而不要返回None了解如何在闭包里使用外围作用域的变量1.获取闭包内的数据2.Python2的值考虑用生成器来改写直接返回列表的函数在参数上面迭代时,要多加小心用数量可变的位置参数减少视觉杂讯用关键字参数来表达可选的行为用None和文档字符串来描述具有动态默认值的参数用只能以关键字形式指定的参数来确保代码明晰在Python2中实现只能以关键字来指定的参数尽量用异...

2019-02-19 11:52:29 250

原创 [Effective Python笔记]一、用Pythonic方式来思考

文章目录确认自己所用的Python版本遵循PEP8风格指南了解bytes、str和unicode的区别用辅助函数来取代复杂的表达式了解切割序列的方法在单次切片操作内,不要同时指定start、end和stride用列表推导来取代map和filter不要使用含有两个以上表达式的列表推导用生成器表达式来改写数据量较大的列表推导尽量用enumerate取代range用zip函数同时遍历两个迭代器不要在fo...

2019-02-19 11:49:03 171

原创 [Python]浅探生成器Generator

是一个类类中同时包含有__iter__()方法和__next__()方法的都是生成器。获得方法常见的有几种 eg.1 生成器generatorlst = [1,2,3,4]generator = (x for x in lst)注意这里括号不是’[]’,否则生成将是一个数组。 相比于用’[]’生成的数组,这里仅生成了generator,而数据则在需要的时候才生成,...

2018-07-12 11:25:04 158

原创 [Python]成员变量与类变量

前几天偶然间踩坑后发现了python的类变量(ClassVar)有一个特性,使用成员变量(MemberVar)的调用形式self.varName调用的居然是类变量!这还不够,当有同名的成员变量self.varName**被定义且被赋值**后使用self.varName调用的将不再是类变量而是成员变量!结论说起来可能有点绕,不如来看下这个例子:例1. 类变量class Func(): ...

2018-06-09 16:52:09 1817

原创 高级语言的编译与解释

我们平常所编写的代码C++也好,Java也罢,这些高级语言都是不能直接运行在CPU上的,因为CPU只能支持一种代码,那就是机器码。 而高级语言需要经过一个过程变成机器码,机器才能运行,这个过程就是我们所知的编译/解释。但是每种语言这个过程不太一样,因为他们的目标CPU体系不一样。比如说C#是一种二次编译语言,它首先是通过编译器将C#文件编译成IL文件,然后再通过CLR将IL文件编译成机器码文...

2018-05-27 21:34:40 4372

原创 [Python]常用数据存储结构.md

※ 以下代码运行于Python3因工作需要,开始接触python语言,这大概是我用过最优雅的语言,非常的简洁。js再懒咱还会使用var,python甚至连声明的数据类型都省略了。 除了基本基本语法外,列表、字典等数据结构是工作中用的最为频繁的部分,所以在学习的时候整理了常用的函数与技巧来便于自己以后查询,若有新的技巧也会在后续更新上来。序列切片Sequence序列并不是一种明确的类型...

2018-05-27 18:40:29 1501

原创 [Unity]Mesh相关类库翻译

Mesh 可以通过脚本代码创建或修改Mesh类。Mesh的属性包括顶点数组和若干个三角形数组对于每一个顶点,可以有一条法线、两个纹理坐标、颜色和切线。这些都是可选的可以随意删除。所有的顶点信息都分别存储在相同大小的数组中,如果你的mesh有十个顶点,那么你就会有十条法线和其它属性的数组。以下三种情况你可能会想用可修改的mesh

2018-03-03 14:57:12 736

原创 [Unity]如何加载Sprite(Multiple)中的Child Sprites

要获取Sprite(Multiple)中的子Sprite,方式有两种。方式一:在代码中加载。首先我的文件路径:"Assets/Resources/Sprite/Bomberman.png"方式二:在unity面板操作。参考来源:http://answers.unity3d.com/ques

2017-03-21 21:47:29 11181 1

MatCap Pro 1.0.unitypackage

懂的都懂 A Pack of customizable MatCap materials and shaders to add your game a stylized look. Materials can be used in almost any scenario, environment, or character. Easy drag and drop setup, Demo Scene with customization examples. Almost any parameter of the material can be tweaked, you can create a

2020-12-07

cocos2d-console

由于cocos3.16版本不再支包含console,所以在这里传上来供大家下载

2018-03-12

空空如也

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

TA关注的人

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