Graphics
未读OpenGL Advance深度测试
开启深度测试glEnable(GL_DEPTH_TEST);
每次清空深度缓存glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
设定深度缓存对比函数glDepthFunc(GL_LESS);
深度值推导
模板缓存
12345678910111213141516glEnable(GL_STENCIL_TEST);glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);glStencilMask(OxFF);允许模板缓存写入数据glStencilMask(0x00);禁止模板缓存写入数据glStencilFunc(GL_EQUAL, 1, 0xFF)参数1:什么情况下通过模板测试GL_NEVER,GL_LESS, GL_LEQUAL, GL_GREATER,GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, GL_ALWAYS参数2:对比的数据对象参数3:对比之前,缓存 ...
1234567891011121314title: Unreal Hierarchydate: updated:tags: - UE5categories: - Unrealkeywords:description: Unreal Hierarchycomments: top_img: swiper_index: 1top_group_index: 1background: "#fff"
Unreal渲染管线PSO渲染管线中的 PSO(Pipeline State Object)是指一种用于定义和存储图形渲染状态的对象。PSO 是现代图形 API(如 DirectX 12 和 Vulkan)中引入的一个重要概念,旨在提高渲染性能和简化状态管理。
PSO 的作用在传统的图形渲染中,渲染状态是通过一系列 API 调用逐步设置的,比如设置着色器、混合模式、深度测试、光栅化状态等。这种做法虽然灵活,但在高性能渲染中容易导致开销较大的状态切换。PSO 则通过将这些渲染状态组合成一个对象进行管理,从而减少状态切换的开销。
PSO 的构成一个 PSO 通常包括以下状态信息 ...
关于虚拟机 virtualBox VMware 和 wsl如果要使用hypervisor
管理员运行cmd 关闭hyper
1bcdedit /set hypervisorlaunchtype off
关闭后会方便虚拟机virtualBox的使用 但是会影响wsl使用
VMware找微软要了hypervisor的权限 所以不需要对这个进行调整
重新打开
1bcdedit /set hypervisorlaunchtype auto
UE 基础gainian必要的规范以下规范仅作部分内容展示,随着文章推进逐步在后文补充,无法就此处进行展开.
命名规范:1.U++根据继承的父类及使用的功能分类进行命名:
a.继承自UObject的请使用U开头
b.继承自SWidget的请使用S开头
c.继承自AAcotr的请使用A开头
d.接口的类前缀为I
e.模板的类前缀为T
f.枚举的前缀为E
g.布尔变量前缀为b
h.其他多数类均以F为前缀,如结构体
i.动态多播,动态单播请以F开头,单播和多播建议以F开头
j.Typedefs应以任何与其类型相符的字母为前缀:若为结构体的Typedefs,则使用F;若为 Uobject 的Typedefs,则使用U,以此类推。
k.特化的Typedef不再是模板,并应加上相应前缀,例如:typedef TArray FArrayOfMyTypes;
2.UHT需要正确的前缀,因此添加前缀很重要
3.类型和变量的命名为名词
4.方法名是动词,以描述方法的效果或被方法影响的返回值
5.所 ...
UE 目录结构此处先给出官方对于项目目录的介绍:
目录结构 | 虚幻引擎 5.4 文档 | Epic Developer Community (epicgames.com)
我们先看蓝图的工程,直接创建一个空白的蓝图工程即可,请不要包含任何模板和初学者内容.它会默认打开.
以下是文件夹层次结构:
接下来我们看创建UEC++工程,它会默认打开编辑器和VS.
注意上图纯净工程未开启项目插件.如果项目需要使用项目插件,此处会有Plugins目录.
*.uproject是极其重要的文件,描述了我们的项目信息,并且掌握切换版本,生产vs文件等功能.
.通常情况下项目层级下的.vs,Binaries,DerivedDataCache, Intermediate,Saved, .vsconfig,*.sln文件可以被忽略并删除.
通常情况下的项目插件层级下的Binaries,Intermediate也可以被忽略或删除.但有些预编译插件,即未提供源码的插件不可执行该操作,会导致项目编译失败,必须上传相关文件.
以下给出个人使用的.gitignore和.gitattributes文件仅供参考:
最 ...
Unreal
未读Unreal Hierarchy
Package >> World >> Level >> Actor >> Actor Component
Package >> World , Meshs , Textures
Module的核心定义Module 是虚幻引擎中管理代码编译的最小单元,它将一组代码资源聚合按一定规则聚合到一起,实现特定的功能,提供给外部调用。包括但不限与C++文件 txt文本 wav音频 png图片等。
Module 分为引擎模块,项目模块,插件模块
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354namespace ELoadingPhase{ enum Type { /** As soon as possible - in other words, uplugin files are loadable from a pak f ...
Unreal
未读Unreal Shoot Game
Unreal
未读Unreal GamePlay 框架
一个游戏由一个GameMode和一个GameState构成。加入游戏的人类玩家与PlayerController关联。 这些PlayerController允许玩家持有游戏中的Pawn,以便在关卡中有物理表示。 PlayerController还为玩家提供了输入功能按钮、平视显示器(简称HUD)和用于处理摄像机视图的PlayerCameraManager。
虚幻引擎中的Gameplay框架提供了多个类和组件,可用作项目的构建块。
Actor是可以在关卡中放置或生成的对象的基类。Actor可以包含一系列Actor组件,这些组件用于控制Actor的移动方式和渲染方式。Actor支持在游戏期间在网络上复制属性和函数调用。
摄像机表示玩家的视角,例如世界在玩家眼里的样子。PlayerController指定摄像机类并实例化摄像机Actor,用于计算玩家查看世界的位置和方向。
Pawn类是可以由玩家或AI控制的所有Actor的基类。Pawn是世界中的玩家或AI实体的物理呈现。角色是能够四处行走的一种特殊类型的Pawn。默认情况下,控制器和Pawn之间 ...