Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Angelo1211/SoftwareRenderer
/ functions
Functions
364 in github.com/Angelo1211/SoftwareRenderer
⨍
Functions
364
◇
Types & classes
28
↓ 1 callers
Function
stbi__zhuffman_decode_slowpath
libs/stb_image.h:3913
↓ 1 callers
Function
stbi_image_free
libs/stb_image.h:952
↓ 1 callers
Function
stbi_info_from_file
libs/stb_image.h:7176
↓ 1 callers
Function
stbi_is_16_bit_from_file
libs/stb_image.h:7197
↓ 1 callers
Function
stbi_is_hdr_from_file
libs/stb_image.h:1335
↓ 1 callers
Function
stbi_load
libs/stb_image.h:1159
↓ 1 callers
Function
stbi_load_from_file
libs/stb_image.h:1169
↓ 1 callers
Function
stbi_loadf_from_file
libs/stb_image.h:1296
↓ 1 callers
Function
stbi_set_flip_vertically_on_load
libs/stb_image.h:967
↓ 1 callers
Function
stbi_zlib_decode_malloc_guesssize
libs/stb_image.h:4178
↓ 1 callers
Function
stbi_zlib_decode_malloc_guesssize_headerflag
libs/stb_image.h:4199
↓ 1 callers
Method
swapBuffers
Applies the rendering results to the window screen by copying the pixelbuffer values to the screen surface.
src/displayManager.cpp:43
↓ 1 callers
Method
switchScene
Checks if the scene that you want to load is not the one that is currently loaded. If it isn't, then it deletes the current one and loads the new one.
src/sceneManager.cpp:31
↓ 1 callers
Method
update
Update Order is critical for correct culling
src/scene.cpp:39
↓ 1 callers
Method
vertex
Vertex shader
include/shader.h:330
Method
Buffer
include/buffer.h:27
Method
Camera
src/camera.cpp:9
Method
DisplayManager
Dummy constructors/destructors
src/displayManager.cpp:10
Method
Engine
Dummy constructors and destructors
src/engine.cpp:10
Method
Frustrum
include/geometry.h:48
Method
GeometrySchlickGGX
include/shader.h:318
Method
GeometrySmith
include/shader.h:325
Method
InputManager
Dummy constructors and destructors
src/inputManager.cpp:10
Method
Matrix4
include/matrix.h:32
Method
Model
On model creation all textures are loaded, the mesh is built and even an AABB is built.
include/model.h:28
Method
Rasterizer
include/rasterizer.h:62
Method
RenderManager
Dummy constructors / Destructors
src/renderManager.cpp:10
Method
Scene
src/scene.cpp:14
Method
SceneManager
Dummy constructors / destructors
src/sceneManager.cpp:10
Method
SoftwareRenderer
Dummy Constructor / Destructor
src/softwareRenderer.cpp:13
Method
TBNMatrix
Transposed to get world-tangent transform You can transpose it instead of inverting it because it's orthogonal
src/matrix.cpp:402
Method
Texture
Depending on the type of texture the data that is loaded must be transformed in different ways.
src/texture.cpp:14
Method
TransformParameters
include/matrix.h:24
Method
Vector3
Constructors
include/vector3D.h:41
Method
backFaceCulling
Gets view direction in object space and uses it to check if the facet normal Is aligned with the viewdirection
src/softwareRenderer.cpp:175
Method
buildRenderQueue
Gets the list of visible models from the current scene Done every frame in case scene changes
src/renderManager.cpp:58
Method
clamp
src/rasterizer.cpp:242
Method
clipTriangles
Inside bounds described in perspective matrix calculation
src/softwareRenderer.cpp:185
Method
createBuffers
src/softwareRenderer.cpp:148
Method
createScreenSurface
Gets the screen surface I know this is "Old" SDL and it's not really recommended anymore But given that I am doing 100% cpu based rendering it makes s
src/displayManager.cpp:79
Method
createWindow
Inits window with the display values crated at compile time
src/displayManager.cpp:66
Method
describeMesh
src/mesh.cpp:9
Method
distributionGGX
include/shader.h:307
Method
dot2D
include/vector3D.h:86
Method
drawLine
src/rasterizer.cpp:60
Method
drawTriangles
Candidate for future total overhaul into a SIMD function Why not now? Before doing this I have to do: 1.vectorize: Shader, vector3 class rewrite 2.Edg
src/rasterizer.cpp:116
Method
drawWireFrame
src/rasterizer.cpp:103
Method
edge
src/rasterizer.cpp:229
Method
fileExists
src/objParser.cpp:22
Method
findSceneFolder
src/scene.cpp:205
Method
fragment
include/shader.h:45
Method
fragment
include/shader.h:83
Method
fragment
include/shader.h:127
Method
fragment
include/shader.h:176
Method
fragment
include/shader.h:246
Method
fresnelSchlick
BRDF functions
include/shader.h:303
Method
frustrumCulling
src/scene.cpp:239
Method
fullRotMat
Uses ZYX convention for rotation
src/matrix.cpp:273
Method
gammaAdjust
Gamma adjustment table precalculated for a 2.2 gamma value signficant ms gains from this!!
src/rasterizer.cpp:248
Method
handleEvent
Handles all the current valid user events: 1. User requested quits 2. Keyboard presses 3. Mouse movement 4. Mouse clicks 5. Mouse wheel movement
src/inputManager.cpp:51
Method
initSoftwareRenderer
src/renderManager.cpp:73
Method
inside
Doing this check was slower than allowing overwrites on certain triangle edges so it's
src/rasterizer.cpp:233
Method
length
include/vector3D.h:89
Method
loadContent
TODO: separate into new class or function Config file parsing, gets all the important
src/scene.cpp:72
Method
loadFileData
Main OBJ parsing function
src/objParser.cpp:28
Method
loadScene
Loads the scene with the given ID. If the scene is empty it will declare it an unsuccesful load and attempt to quit early of the whole program
src/sceneManager.cpp:54
Method
loadSceneModel
src/scene.cpp:224
Method
lookAt
Moves the whole world to place the origin at the current camera position And wrt its direction
src/matrix.cpp:343
Function
main
src/main.cpp:9
Method
makeCoolPattern
Early pixel buffer traversal test
src/rasterizer.cpp:41
Method
makeTestMat
1-15 values
src/matrix.cpp:250
Method
operator*
Way too general, should probably change in the future since I think I'll only need 4x4 stuff and this technically allows for any n matrix. Traverse th
src/matrix.cpp:225
Method
operator*
include/vector3D.h:56
Method
operator+
include/vector3D.h:58
Method
operator+=
include/vector3D.h:68
Method
operator-
Scalar-vector operations
include/vector3D.h:54
Method
operator-=
include/vector3D.h:74
Method
packDataIntoTris
src/softwareRenderer.cpp:167
Method
perspectiveDivide
src/softwareRenderer.cpp:198
Method
print
src/matrix.cpp:427
Method
print
Print for debugging purposes
include/vector3D.h:110
Method
projectionMatrix
Assumes a symmetrical frustrum with euqal fov for horizontal and vertical Also uses the inverse z trick to in theory improve zbuffer precision
src/matrix.cpp:380
Method
reflect
Only used for blinn shading within specular reflection calculations
include/vector3D.h:105
Function
resample_row_1
libs/stb_image.h:3164
Method
scaleMat
Fills values along diagonal only
src/matrix.cpp:306
Method
shutDown
src/softwareRenderer.cpp:26
Method
shutDown
src/renderManager.cpp:25
Method
shutDown
src/sceneManager.cpp:25
Method
shutDown
src/inputManager.cpp:22
Method
shutDown
Closes down sdl and destroys window. SDL surface is also destroyed in the call to destroy window
src/displayManager.cpp:35
Method
splitStr
Creates stringstream of string and subdivides it by the delimeter and returns a vector of the individual components of the string
src/objParser.cpp:75
Method
startSDL
Entry point to SDL
src/displayManager.cpp:57
Method
startUp
src/softwareRenderer.cpp:16
Method
startUp
Starts up the scene manager and loads the default scene If for whatever reason the scene could not load any model, or there are none defined It just q
src/sceneManager.cpp:16
Method
startUp
src/inputManager.cpp:13
Method
startUp
Initializes the window and obtains the surface on which we draw. Also first place where SDL is initialized.
src/displayManager.cpp:15
Function
stbi__YCbCr_to_RGB_row
libs/stb_image.h:3368
Function
stbi__YCbCr_to_RGB_simd
libs/stb_image.h:3394
Function
stbi__idct_block
libs/stb_image.h:2204
Function
stbi__idct_simd
sse2 integer IDCT. not the fastest possible implementation but it produces bit-identical results to the generic C version so it's fully "transparent".
libs/stb_image.h:2267
← previous
next →
201–300 of 364, ranked by callers