Advanced Search
Search Results
156 total results found
Pointers, Arrays, and References
In C++, arrays are used to store a fixed-size sequence of elements of the same data type. To create an array in C++, you need to follow certain requirements: Alternatives to Pointer: Looking at Pointer heavy code is difficult to determine intent of the progr...
Vectors
Variables in Memory
The computer has finite resources for "remembering" things. So, you can't just keep asking it to remember data without at some point also telling it that it's ok to forget the data. Otherwise, at some point it will be completely full of stuff you told it to re...
RAII and Initializer Lists
Resource Acquisition Is Initialization RAII stands for Resource Acquisition Is Initialization. It’s a programming idiom in C++ used to manage resource lifetimes, such as memory, file handles, or mutex locks. RAII ensures that resources are properly acquired a...
Makefile
Compiling and Linking Compiling and linking are two critical steps in the process of turning human-readable source code into an executable program. Here's an overview of what each step involves: Compilation Compilation is the process of transforming source ...
Vulkan & OpenGL Differences (Shaded Triangle)
1. Explicit Control Vulkan: Provides explicit control over GPU resources and operations. You need to manage and allocate resources like memory, command buffers, and synchronization primitives directly. OpenGL: Abstracts much of this compl...
Array Cheatsheet
Arrays Arrays hold values of the same type at contiguous memory locations. In an array, we're usually concerned about two things - the position/index of an element and the element itself. Advantages Store multiple elements of the same type with one single...
String Cheatsheet
A string is a sequence of characters. Many tips that apply to Arrays also apply to Strings. Time complexity A Strings is an array of characters, so the time complexities of basic string operations will closely resemble that of array operations. Opera...
Hash Cheatsheet
As some might know sets in python can contain only unique elements. “Similar to hash table, a hash set is also a collection of objects. In hash table, data was stored in the form of key-value pairs, whereas in hash sets, the data is stored as objects. A hash s...
Hash Map
# Creating a hash table to store fruits based on their first letter hash_table = {} hash_table['A'] = 'Apple' hash_table['B'] = 'Banana' hash_table['O'] = 'Orange' # Accessing a fruit based on its first letter print(hash_table['A']) # Output: 'Apple' ...
Hash Set
Example regular set: # Regular Set (Without Hashing) my_set = {3, 7, 1, 9, 5} # Searching for an element in the set search_element = 7 if search_element in my_set: print("Element found in the set!") else: print("Element not found in the set...
Strict Tree
skeletal rigs use this
Bounding Volume Hierarchy
QuickSort
1. QuickSort Why Important: QuickSort is one of the fastest general-purpose sorting algorithms for large datasets. It works in-place and has an average complexity of O(N log N). Where It’s Useful: Sorting large datasets like vertex buffers, meshes, or t...
Merge Sort
2. MergeSort Why Important: MergeSort is stable (preserves the relative order of equal elements) and handles large datasets efficiently with O(N log N) time complexity. Where It’s Useful: Sorting animations or frames by timestamps. Material batching: S...
Radix Sort
3. Radix Sort Why Important: Radix Sort is a non-comparative sorting algorithm and is faster than QuickSort for integers or fixed-length data types (e.g., IDs, bitmasks). Its complexity is O(N) for small key ranges. Where It’s Useful: Sorting IDs for me...
Bucket Sort
4. Bucket Sort Why Important: Bucket Sort works well when the data is uniformly distributed and falls within a known range. Where It’s Useful: Depth Sorting: Sort objects by their Z-depth for transparency. Light Probes or Particles: Sorting objects int...
Summary
Most Important Sorting Knowledge As a Technical Artist, focus on: Why Sorting Matters: GPU performance optimization (batching, transparency sorting). Animation frame ordering. Texture atlas generation. Where Sorting Is Used: Draw Call Opti...