Loading

03 2024 档案

摘要:DataTable中的数据 DataTable中每一行数据是一个结构体 在C++代码中定义结构体,然后可以在蓝图中可以创建以此结构体为单元的DataTable 枚举变量 定义一个头文件来存储枚举变量,然后可以在要使用的文件中利用 MyEnumPtr = FindObject<UEnum>(ANY_P 阅读全文
posted @ 2024-03-30 19:41 XTG111 阅读(94) 评论(0) 推荐(0) 编辑
摘要:构造函数 由于Widget是由UE的反射系统创建的,其生命周期由UE引擎管理,所以并不存在构造函数,UE为Widget类定义了两个虚函数NativeConstruct 与 NativePreConstruct来充当构造函数的作用。而这两个函数的调用都必须在Widget被实例化之后才能进行调用 如何在 阅读全文
posted @ 2024-03-29 19:22 XTG111 阅读(207) 评论(0) 推荐(0) 编辑
摘要:虚拟内存 使用虚拟内存主要为了实现隔离 内存隔离,所有程序指令存放在一个物理内存上,如果一个指令的操作位刚好是另一个指令的地址,那么会造成指令的丢失 为了解决这个问题使用地址空间 地址空间 为每一个指令程序分配自己的地址空间,每个指令程序只能在自己的地址空间上操作。我们需要做的就是复用不同的地址空间 阅读全文
posted @ 2024-03-29 15:45 XTG111 阅读(158) 评论(0) 推荐(0) 编辑
摘要:简述 操作系统支持多进程任务,并且每个进程之前还应当隔离,但又在必要的时候进行交互。 操作系统必须满足的三个要求:多路复用、隔离和交互 抽象系统资源实现隔离 禁止应用程序直接访问敏感的硬件资源,将这些资源抽象为服务,提供接口向应用程序服务。一般来说就是通过系统调用命令来实现的。 在Unix中交互一般 阅读全文
posted @ 2024-03-28 18:26 XTG111 阅读(5) 评论(0) 推荐(0) 编辑
摘要:trace 该系统调用程序,可以跟踪其他的系统调用命令,该系统调用的形参为一个整数掩码。其具体实参为1 << sys_call所得到的整数值,sys_call是一个系统调用指令在内核中定义的系统调用编号。返回值包含进程id,系统调用sys_call的名称和返回值。并且trace指令可以跟踪当前进程和 阅读全文
posted @ 2024-03-28 18:13 XTG111 阅读(56) 评论(0) 推荐(0) 编辑
摘要:说明 学习一下如何将Widget蓝图与C++连接起来,将处理逻辑写在C++中 基础 在蓝图中,我们显示Widget是通过一个Actor或者PlayerController,甚至关卡蓝图,利用Create Widget以及 AddToViewPort使得Widget显示在屏幕上的 所以在C++中也是一 阅读全文
posted @ 2024-03-23 18:20 XTG111 阅读(345) 评论(0) 推荐(0) 编辑
摘要:反射 教程 让程序看到自己的数据,并且能够对数据进行操作 类型萃取 对类型做萃取,有一组混合类型,将特定类型获取出来 核心思路:使用模板来匹配查找 例子:指针类型萃取 解除一层指针,三级变二级,二级变一级 template <typename T> struct remove_pointer {}; 阅读全文
posted @ 2024-03-21 21:14 XTG111 阅读(33) 评论(0) 推荐(0) 编辑
摘要:3.20每日一题 1969.数组元素的最小非零乘积 50.Pow(x,n) 二分法求解快速幂 求解幂,利用二分法可以将时间复杂度降到O(logn)。考虑x5经过二分法之后变为x2x2x,以及x4经过二分法之后变为x2x2,所以主要区别就是是否 阅读全文
posted @ 2024-03-20 10:22 XTG111 阅读(3) 评论(0) 推荐(0) 编辑
摘要:光线追踪 模拟光路成像 光线的假设 光线是沿直线传播 光线之间不会发生碰撞 认为光线可以模拟为从摄像机射出到物体 -- 原本是从物体到摄像机在真实物理情况上 光线投射 Ray Casting 摄像机和物体之间存在于一屏幕,从摄像机开始向物体每个点连线,然后对应在屏幕上可以进行光栅化。 然后从光源出发 阅读全文
posted @ 2024-03-16 13:48 XTG111 阅读(5) 评论(0) 推荐(0) 编辑
摘要:说明 本次作业主要实现对上一次作业代码的重构以及使用BVH加速求交的交点判断和递归调用 代码框架的修改 有影响的改动就是框架中定义了两个结构体一个是光线ray,一个是交点Intersection 交点结构体 主要为相交交点定义了六个变量, struct Intersection { Intersec 阅读全文
posted @ 2024-03-14 21:42 XTG111 阅读(49) 评论(0) 推荐(0) 编辑
摘要:插入排序 插入排序就是对当前元素从头搜索其在已排好序列表中的合适位置。 //升序 void InsertSort(vector<int>& nums) { int len = nums.size(); for(int i=0;i<len;i++) { int cur = nums[i]; //已经排 阅读全文
posted @ 2024-03-12 21:59 XTG111 阅读(20) 评论(0) 推荐(0) 编辑
摘要:说明 本次作业主要实现Whitted-光线追踪,作业框架只需要我们编写两个部分,一个是求解观测光线--从摄像机到每个像素的向量;第二个是判断射线与三角形的交点。 求解观测光线 需要对每个像素求解在实际物体空间中的向量,然后利用从摄像机到该像素位置定义一条入射光线。 首先需要知道光栅化屏幕大小是\(w 阅读全文
posted @ 2024-03-12 11:41 XTG111 阅读(67) 评论(0) 推荐(0) 编辑
摘要:着色 模型-投影变换:物体变为标准立方体中 视口变换:3D物体变为2D平面 光栅化:绘制物体在2D平面上 着色:对物体应用材质 -- apply a material to an object 材质在光照作用下表现出来的颜色 Bling-Phone模型光照会出现的情况:漫反射 + 高光 + 环境光照 阅读全文
posted @ 2024-03-09 16:06 XTG111 阅读(4) 评论(0) 推荐(0) 编辑
摘要:说明 参考灵神的题单刷题 总结一些技巧 判断一个数二进制形式下第i位是否为1 可以将该数看作一个集合,该集合存储的是二进制表示下为1的下标。 //n >> i 后的最低位表示n的第i位 if(n>>i & 1) { if(i%2) 奇数++ else 偶数++ } 2的幂或者4的幂 2的幂 整个二进 阅读全文
posted @ 2024-03-07 22:56 XTG111 阅读(2) 评论(0) 推荐(0) 编辑
摘要:说明 本次作业主要是实现对一个obj文件表示的物体利用贴图进行渲染 rasterizer.cpp框架分析 和作业二类似,只不过颜色不再是固定值,而是通过纹理获得 //draw 函数 // Also pass view space vertice position rasterize_triangle 阅读全文
posted @ 2024-03-07 20:14 XTG111 阅读(95) 评论(0) 推荐(0) 编辑
摘要:说明 该作业主要想实现两个三角形的绘制 绘制结果走样 按照课上所讲的方法,对包围盒里面的所有像素进行判断是否在三角形内,然后着色,这样的结果由于采样频率的问题将导致边缘走样现象的发生 if(!insideTriangle(P.x(),P.y(),t.v)) continue; int cur_ind 阅读全文
posted @ 2024-03-07 10:34 XTG111 阅读(31) 评论(0) 推荐(0) 编辑
摘要:光栅化 Rasterize 将经过观测变换后在[111]立方体的物体绘制在屏幕上 Rasterize == Drawing onto the screen 屏幕 一个二维数组,每个元素表示一个像素(pixel) 初步认知:一个pixel内部颜色不会变化 像素的范围在(0,0) 到 阅读全文
posted @ 2024-03-05 22:33 XTG111 阅读(21) 评论(0) 推荐(0) 编辑
摘要:变换 3D -> 2D 2D空间的变换 缩放变换 [xy]=[s00s][xy] 阅读全文
posted @ 2024-03-04 17:41 XTG111 阅读(87) 评论(0) 推荐(0) 编辑
摘要:Sleep功能 通过接受时间参数,调用system_call 指令 sleep实现该功能 #include "kernel/types.h" #include "kernel/stat.h" #include "user/user.h" int main(int argc,char* argv[]) 阅读全文
posted @ 2024-03-02 15:49 XTG111 阅读(22) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示