Graphics
未读OPENGL + FFMPEG 实现全景播放器
加载并编译着色器,用于处理顶点和片段着色。
创建一个球体模型,用于映射视频帧。
实现渲染帧的功能,将解码后的帧数据传递给GPU并绘制在球体上
Video 视频处理 编解码闪屏问题每次渲染新帧时,屏幕可能会出现闪屏现象,这可能是渲染的帧没有正确地显示或者上一帧的内容在新帧显示之前被清空。启用了VSync(垂直同步)。VSync会使得帧刷新率与显示器的刷新率同步,避免在图像未完全刷新时就进行绘制,从而减少闪屏和撕裂的情况。
双缓存问题启用双缓冲机制。这会使得渲染完成的一帧不会立即显示,而是先保存在一个缓冲区中,直到当前帧全部渲染完成后再交换缓冲区,避免屏幕上出现不完整的图像。
1glfwWindowHint(GLFW_DOUBLEBUFFER, GL_TRUE);
多线程处理,其中一个线程专门负责视频解码和帧数据准备,而主线程只负责渲染。这种方法有效地避免了主线程因为解码而阻塞导致的渲染延迟,从而消除了闪屏问题。
123456789101112131415161718192021222324252627// 解码线程,负责解码视频帧vo ...
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 通常包括以下状态信息 ...
COEN 329 MidPart1Q-in-Q frame format, function
Basic Q-in-Q
Selective Q-in-Q
Network Processor:
fast path, process path,
CAM
Layer 2, Layer 3 Methods
Scheduling
Classification
Forwarding
STUN
DRR (Deficit Round Robin)
Link aggregation
VPLS
Concept
Loop prevention,
PEs function
Full mesh
MPLS 做了什么
VPN是什么
Mac in Mac in the backbone we use it
double level 是什么 我们有两个level outer level和inner level作为vpn level 和vpn 等等
外层level就是这些
inner level是cus ...
Graph ProblemsGraph problems are very common in coding interviews. The main focus areas include graph construction, graph traversal (BFS/DFS), path search, connectivity checks, and Union-Find (Disjoint Set Union, DSU). Below is a comprehensive summary.
1. How to Build a Graph (Adjacency List)The most common representation is the Adjacency List.
In Python, we usually use collections.defaultdict(list):
123456789import collectionsgraphs = collections.defaultdict(list)# edges is a list of pair ...
Interview
未读Graphic Interview QuestionC++Day1
What are references in C++?
What is a virtual function in C++ and why is it used?
What is the difference between new and malloc()?
Explain the inline keyword.
Day2
What is the difference between reference and pointer?
What is the difference between function overloading and operator overloading?
What is the difference between virtual functions and pure virtual functions?
When should we use multiple inheritance?
What are destructors in C++?
Is destructor overlo ...
Interview
未读Two Pointers & Linked ListThe Two Pointer technique is one of the most elegant tools in algorithm design. It reduces time complexity by avoiding redundant traversal and is widely used in string, array, and linked list problems. This chapter explains when and how to use it, the logic behind fixed and floating pointers, and how this pattern connects to linked list problems.
When to Use Two PointersTwo Pointers are typically used in:
String Manipulation — e.g., reversing or checking palindrom ...
Interview
未读Binary Search Problem Set1. Template Binary Search ProblemsThese are the classic binary search applications, usually searching directly in arrays or matrices.
704. Binary Search Given a sorted array of integers and a target value, return the index if the target is found. If not, return -1.
702. Search in a Sorted Array of Unknown Size You are given an array-like data structure with get(index) API but you don’t know the size. Find the target in this sorted structure with minimal calls to get.
74 ...
BFS200. Number of IslandsProblem: Given a grid of '1' (land) and '0' (water), count the number of islands. An island is surrounded by water and formed by connecting adjacent lands horizontally or vertically.
Thinking Process
Model: Connected components. Each time we see an unvisited '1', we run BFS/DFS to sink the whole island.
Steps: Loop through grid → if '1' and unvisited, launch BFS/DFS → mark visited → increment count.
Complexity: O(mn).
Pitfall: M ...
Interview
未读Traversal (遍历型递归)144. Binary Tree Preorder TraversalDescription: Return the preorder traversal of a binary tree (Root → Left → Right). Interview Thought: Think “when I arrive at this node, what should I record?” Maintain a result list. Preorder means process root first, then recurse left, then right. Traversal template applies directly.
94. Binary Tree Inorder TraversalDescription: Return the inorder traversal of a binary tree (Left → Root → Right). Interview Thought: Standard DFS order problem ...