- 博客(66)
- 收藏
- 关注
翻译 [TBB用户指南]并行化数据流和依赖图
并行化数据流和依赖图并行化数据流和依赖图除了循环并行之外,oneAPI Threading Building Blocks (oneTBB) 库还支持图并行。可以创建高度可扩展的图,但也可以创建完全顺序的图。使用图并行时,计算由节点表示,节点之间的通信通道由边表示。当图中的某个节点收到消息时,会生成一个任务以在传入消息上执行其主体对象。消息通过连接节点的边在图中流动。以下几节将展示可以表示为图的两个应用程序示例。下图展示了一个流式或数据流应用程序,其中一系列值在通过图中的节点时被处理。在这个示例中,
2024-10-11 14:22:29 35
翻译 [CGAL手册]表面网格简化
实现简化算法的自由函数不仅接收表面网格和期望的停止条件,还接收许多额外参数以控制和监控简化过程。本节简要描述了该过程,为讨论算法的参数设置背景。有两种稍微不同的“边”折叠操作。一种称为边折叠(edge-collapse),另一种称为半边折叠(halfedge-collapse)。给定连接顶点w和v的边e,边折叠操作用新顶点r替换e、w和v,而半边折叠操作将v拉入w,消除e并保留w。在这两种情况下,该操作都移除了边e及其相邻的两个三角形。
2024-07-02 11:34:03 230
翻译 流送、LOD、遮挡
细节丰富的场景细节丰富的场景相比简单场景面临很多挑战:显存限制显存是有限的,但场景复杂度却不是。美工通常会创建包含数百万个三角形的单个模型, 3D 扫描通常会使这些模型变得更大。很多模型都带有高分辨率纹理贴图以及渲染本身所需的各种缓冲区,因此单个场景的数据量可轻松达到数百 GB,而大型开放世界游戏的数据量则可达到数 TB。亚像素三角形当一个对象距离足够远只覆盖几个像素时,其绝大多数三角形将完全位于两个像素中心之间,因此根本不覆盖任何像素。这意味着大量的工作完全浪费,没有任何视觉效果。被遮挡的几
2024-04-17 17:16:55 205
翻译 TBB Flow Graph
节点和边的句柄节点的基类信息发送节点的基类信息接收节点的基类图中向后继者转发信息的节点有两种可能的转发策略,这是节点的属性之一:有两种策略可以处理无法推送给任何后继者的信息:节点策略:
2024-03-23 09:28:51 82
翻译 [CGAL手册]Hello World
这个教程适合CGAL新手(知道C++和一些几何算法基本知识)。第一部分展示如何定义点和线段的类型,如何应用一些几何谓词。本节也可以让我们认识到使用浮点数作为坐标存在严重问题。第二部分说明一个经典的 CGAL 函数:计算 2D 凸包。第三部分说明Traits是啥意思。第四部分解释concept和model的概念。
2023-08-26 16:34:21 327
原创 我的哲学小记
罗翔:当你看自然界什么东西是随波逐流,枯死的叶子,死掉的东西一定是随波逐流;为什么大家那么忙,因为在忙乱中,我们忘记了我们还活着,在忙乱中,我们的心已经死去,但是如果你没有这种智慧的话,无论你做出哪种选项,你最终依然是在焦虑当中,是在茫然之中,是在攀比之中,是在争斗之中,是在每天的惶恐和抑郁之中。但今天我突然发现,我是一个实实在在的随波逐流的人,就如同那枯死的叶子。为什么这样讲,我会因为一个人的颜值感觉她是我一生要守护的人,如此肤浅,如此随波逐流。追求美,这没有问题,但绝不是仅仅追求美。
2023-04-13 19:56:42 142
翻译 [LLVM教程]LLVM之第一个语言前端/“万花筒”:介绍与词法分析器
文章目录"万花筒"语言词法分析器"万花筒"语言本教程以一种称为“万花筒”的玩具语言为例。万花筒是一种过程语言,它允许我们定义函数、使用条件、数学运算等。通过本教程的课程,我们将扩展万花筒以支持“if/then/else”、“for”循环、用户自定义操作符、拥有一个简易命令行接口的即时编译、调试信息等。我们希望尽可能保持简单,所以万花筒中唯一的数据类型是双精度浮点类型(C中称作double)。因此,所有值都隐式是双精度浮点类型,且语言不需要类型声明。这使得语言拥有一个非常不错且简单的语法。例如,下面简单
2022-02-10 16:08:47 1165
原创 [LLVM]自制脚本语言实践
开始之初想从翻译LLVM教程LLVM Tutorial: Table of Contents — LLVM 15.0.0git documentation开始的,翻译了两章之后,
2022-02-10 16:04:49 1487 1
原创 编译原理学习笔记
文章目录总结文法定义语言定义文法分类CFG的分析树正则有穷自动机从正则表达式到NFA从NFA到DFA自顶向下的分析方法文法转换同一非终结符候选式存在共同前缀直接/间接左递归LL1文法递归的预测分析法语法制导翻译语法制导翻译方案SDT在递归预测分析过程中进行翻译《编译原理》书籍学习笔记编译器结构编译原理视频学习笔记编译器的结构语言与文法文法形式化定义语言的定义文法的分类词法分析正则表达式(Regular Expression)有穷自动机(Finite Automata)有穷自动机分类从正则表达式到有穷自动机语
2022-01-29 17:09:47 1419
翻译 [LLVM教程]LLVM之第一个语言前端
需求:这个教程假设你懂C++,但编译器经验不是必须的。欢迎来到“LLVM之第一个语言前端”教程。我们通过实现一个简单的语言,来体验其乐趣与简单。本教程将展示一个使用LLVM生成代码的具体实例,来带你快速进入角色。这个教程介绍了一个简单的语言“万花筒”,我们通过几章教程一步步构建它。这可以让我们感受到语言设计的多个层面以及LLVM的重要观念,同时教程也会展示和解释构建“万花筒”过程中的代码,并避免过度细节。我们强烈建议你制作一个代码的副本,并修改和试验。警告:为了专注于教授编译器技术和LLVM,这个教程
2022-01-22 14:20:07 1509
翻译 [Boost.Log]设计概述
Boost.Log被设计为模块化和可扩展。它支持宽字符和窄字符。宽字符和窄字符日志器提供了相似的能力,所以大多数文档只描述了窄字符接口。库主要有三层:日志数据收集层,处理层和中间枢纽。中间枢纽连接了前面两层。如下图所示:箭头展示了日志信息的流向——从左边我们的应用程序到右边最终的存储。存储是一个可选选项,因为日志处理的结果可能仅包含一些行为但不进行实际的存储。例如,我们的程序可能在临界状态产生一条特别的日志记录,处理它时,可以在系统托盘中的应用程序图标上看到一条错误消息作为工具提示通知,并听到警报声。
2022-01-19 16:35:07 281
翻译 [Boost.Log]术语定义
这里有一些将在文档中广泛使用的术语定义:日志记录一系列信息,它们从用户程序中收集,以候选放入日志中。在最简单的场景中,日志记录被日志库处理后,将由日志文件中的一行文本来表示。属性“属性”是一个可用于说明日志记录的元信息。在Boost.Log中,属性由有一个特定接口的函数体来表示,调用它时返回真正的属性值。属性值属性值是从属性中获取的真正数据。属性值将附加到特定的日志记录并被库处理。属性值可以有不同的类型(数值,字符串和其它用户自定义的复杂类型)。比如:时间戳、文件名、行号、范围名称等等。属性值
2022-01-19 15:24:11 164
翻译 [Vulkan教程]绘制一个三角形/绘制/渲染和呈现(Rendering and presentation)
[Vulkan教程]绘制一个三角形/绘制/渲染和呈现(Rendering and presentation)
2021-10-24 21:32:08 757
翻译 [Vulkan教程]绘制一个三角形/绘制/命令缓冲(Command buffers)
[Vulkan教程]绘制一个三角形/绘制/命令缓冲(Command buffers)
2021-10-23 14:49:58 719
翻译 [Vulkan教程]绘制一个三角形/设置/物理设备和队列簇(Physical devices and queue families)
物理设备和队列簇
2021-07-17 13:33:55 611
翻译 [Vulkan教程]绘制一个三角形/设置/实例(Instance)
文章目录创建实例创建实例初始化Vulkan库时,你需要做的第一件事就是创建实例VkInstance。它是应用程序与Vulkan库之间的桥梁。创建实例时,你需要告诉驱动程序你应用程序的一些细节信息。添加一个createInstance函数,然后在initVulkan函数中调用它。void initVulkan() { createInstance();}创建一个成员变量保存实例:private:VkInstance instance;现在,我们首先创建一个结构体VkApplica
2021-07-04 19:29:26 1095
翻译 [Vulkan教程]绘制一个三角形/设置/基本代码
文章目录通用结构资源管理集成GLFW通用结构上一节,我们已经启动了第一个黑色的窗口,它的基本代码如下:#include <vulkan/vulkan.h>#include <iostream>#include <stdexcept>#include <cstdlib>class HelloTriangleApplication {public: void run() { initVulkan(); m
2021-07-04 12:11:21 1385
翻译 [Vulkan教程]概述
本章将首先介绍Vulkan和它解决的问题。我们介绍绘制第一个三角形所需的各项内容。让你对之后的每一章有直观的感受。最后我们会学习Vulkan API的结构和通用使用模式。
2021-06-19 08:56:11 3122
Real-Time Ray Tracing of Micro-Poly Geometry
2024-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人