Skip to content

[#145] Basic Spot Light Shader Functionality#147

Merged
su-ah merged 9 commits into
pbr-devfrom
145-shader-spot-light
Feb 1, 2026
Merged

[#145] Basic Spot Light Shader Functionality#147
su-ah merged 9 commits into
pbr-devfrom
145-shader-spot-light

Conversation

@ziadzananiri

Copy link
Copy Markdown
Collaborator

Implemented the basic shader functionality for a spot light in the shader light slang file. I took some liberty in modifying the header of the function as I'm not sure where fragments will be defined, so I'm assuming they will be defined at function call.

@ziadzananiri ziadzananiri added documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed question Further information is requested labels Jan 22, 2026
@ziadzananiri ziadzananiri linked an issue Jan 22, 2026 that may be closed by this pull request
@ziadzananiri ziadzananiri requested a review from su-ah January 22, 2026 00:08
Comment thread shaders/shader_lights.slang
su-ah
su-ah previously requested changes Jan 25, 2026

@su-ah su-ah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comment on line 69

Comment thread shaders/shader_lights.slang Outdated
@github-actions github-actions Bot marked this pull request as draft January 25, 2026 16:47
@ziadzananiri ziadzananiri requested a review from su-ah January 26, 2026 18:26
@ziadzananiri ziadzananiri marked this pull request as ready for review January 26, 2026 18:26
su-ah
su-ah previously requested changes Jan 26, 2026

@su-ah su-ah left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see discord re: smoothstep

additional notes:

  • refactor viewPos to directly take in viewDir instead to make consistent with other signatures
  • light.padding seems to be unused, that can be removed

27/01 : format additional notes + add one

@su-ah su-ah merged commit b316da0 into pbr-dev Feb 1, 2026
@su-ah su-ah deleted the 145-shader-spot-light branch February 1, 2026 17:27
P0k3rf4ce added a commit that referenced this pull request Mar 2, 2026
* Added logger and basic shader

* Safe uniform setting

* Fixed segfault

* Added vibe tests

* oops test fix

* Updated for PR requested changes

* Add Shader + Logger class (#25)

* Deriv Function implementation for ODE solver, (default gravity applied) (#26)

* Implement derivative functions and testing framework for animation module

* Add default gravity affect on derivative functions and unit tests for animation module

* Add computeCOM method to AnimationProperties for centre of mass computation (#19)

* Update class declaration for COM computation

* Implement computeCentreOfMassAndVolume

* Make computeCentreOfMassAndVolume static

* Add computeCenterOfMassAndVolume tests

* Add coverage related files to gitignore

* Implement ODE solver (Euler method) (#23)

* made ODE solver and test folders

* made ODE solver and test folders

* finished ODE Classs

* fixed fractional time left

* actually fixed it

---------

Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>

* Fixed compiler warning

* 16 modeling meshclass (#33)

* Mesh class textbook code

* mesh class tests

* Remove Textures vector from Mesh class
Textures should be handled in the Model, not the Mesh

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Basic draft for material class (#27)

* draft for material class

* v2 design. Uses textures instead of pure colors

* fixed include error

* should not compile

* Added model class

* Reworked material texture names

* Added additional object constructors

* Changed Texture Names for Material

* 4 inertia tensor (#41)

* Inertia tensor and inverse added

* Added inertia tests

* Removed redundant comments

* 4 - Rewrote the function to use the Eigen Library. Also got rid of the constructor stuff

* 4 - Added inverse functionality

* 4-Modified the corresponding header file

* Fix the code so it compiles

* 4-Rewrote to use indices

* 4 - Changed the header to match

* 4-Rewrote the unit tests, and modified the function accordingly

* removed unnessisary print statement

* Bug fix

---------

Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>

* 50 camera (#52)

* Camera class

* Rotation functions

* Camera: Switch to Eigen from glm

* Added update method for model props

* Added skeleton for model loading

* Added camera to scene

* mesh loading, generation of normal vectors WIP

* Draft for asset-management-system (#66)

* Mesh Loading

* Add collision detection and response for rigid bodies (#64)

* 41 bounding box (#74)

* 41 - Initial Ideas for bounding box

* 41- bounding box logic added

* 41- Added tests

* 41 Now uses eigen's alignedBox

* Added Tag extraction (#77)

* implemented Material loading (#75)

* implemented Material loading

* Fixed texture loads & logging improvements

---------

Co-authored-by: QA1S <qais.alkhatib@mail.utoronto.ca>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* ModelLoader Hotfix

* Removed some debug comments, modified face count

* Model Loader Bugfixez

* Ode solver PLUS QP all in one (#84)

* Add OSQP as submodule

* finished qp and ode solver

* finished making ode solver with odeint

* Remove unused Boost submodules, keeping only odeint-v2 and osqp

* sync (#114)

* bug: fix return for getModelMatrix

* Add Shader + Logger class (#25) (#31)

ok

* Fix Issue #29 (#30)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* feat: add quad rendering (#32)

* add: method to set matrix4f uniform

* Feat: Implement bloom (#35)

* feat: implement bloom

* fix: fix logger fmt

* Fix linking errors

* fix: rename test dir for utils

* fix: address comments

---------

Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>

* add: method to set matrix4f uniform (#36)

* fix: rename shaders and change paths (#43)

* 18 model loading (#42)

* Added logger and basic shader

* Safe uniform setting

* Fixed segfault

* Added vibe tests

* oops test fix

* Updated for PR requested changes

* Add Shader + Logger class (#25)

* Fixed compiler warning

* 16 modeling meshclass (#33)

* Mesh class textbook code

* mesh class tests

* Remove Textures vector from Mesh class
Textures should be handled in the Model, not the Mesh

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Implemented model loader. Testing remaining still. Update ModelProperties to better fit the structure for the loader

* Implemented model loader. Testing remaining still. Update ModelProperties to better fit the structure for the loader

* quick CMakeLists.txt fix

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>

* feat: implement #14 (#38)

* add pbr shaders

* implements #14 (mostly)

* add: define pi constant locally

* [#13] feat: implement genIrradianceMap (#20)

* Initial skeleton for genIrradianceMap

* Configuring viewport to capture irradiance dimensions after binding FBO

* Integrating shader into irradiance map generator

* Created frag/vert for irradiancemap, decoupled irradiancemap logic off of renderproperties

* Update RenderProperties.hpp

* Implement genBRDFLUT (#40)

* Implement genBRDFLUT

* Cherrypicked Emmy's brdf shaders and restructured shader files

* Render quad with coords

* Gen prefilter map method implementation Resolves #11 (#37)

* Pushing prefilter implementation

* refactor: clean up (#44)

* shader de-duplication + cleanup

* reorganize default shaders

* refactor genIrradianceMap into pbrPreProcessing

* refactor genBRDFLUT into pbrPreProcessing

* refactor genPrefilterMap + clean up documentation

* fix: change shader names to reflect refactoring

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* model loader patch (#69) (#70)

hotfix: Removed irrelevant files, patched model props

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* ff team branch (#97)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Whatsgoingon (#107)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* i thought this was fixed

* update team branch... again...? (#108)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Fix: Use SSBO for lights (#67)

* fix: use UBOs for lights

* switch to ssbo for light data

* update OpenGL to version 4.3

* Jarvis, revert that change

* Add shadow test for directional lights

* Add support for point lights

* sync (#109)

* model loader patch (#69) (#70)

hotfix: Removed irrelevant files, patched model props

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* ff team branch (#97)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Whatsgoingon (#107)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* i thought this was fixed

* update team branch... again...? (#108)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>
Co-authored-by: su-ah <emmrald4@gmail.com>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* 56 - Write shadow pass shaders (#79)

* Copy over joey's shaders for shadow mapping

* Update shadow_mapping_depth.frag

* remove extra shaders

---------

Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: su-ah <emmrald4@gmail.com>

* Fix build errors (#102)

* Update scene object architecture (#103)

* Swicth update methods for Object

* Update the main file architecture

* Fix infinite loop

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Revert "Merge branch 'rendering-team-dev' into main"

This reverts commit fcce2a4, reversing
changes made to 6232759.

yo github wtf was that

* add workflow automation (#65)

* Create branch-on-issue.yml

add a workflow to automatically create a new branch whenever an issue is opened

- the name of the branch is formatted as `[team]-#[issue no.]`, where the team is detected from the labels
- this means that every new issue requires a team label on creation
- the `nobranch` label can be used to prevent creation of a branch for certain issues

* fix: new branch sources from team branch

* add: workflow also creates draft pr. also uses github cli where convenient

* add: workflow which marks issues as "in progress" on commit to its pr

* fix: set token correctly

* add: adds comment on new issue to reference generated pr

* add: bot id

* add: workflow to delete issue branches on merge

* fix: easier way to get issue closed by pr

* implemented stuff

* copy over actions, change ids, remove unnecessary debug vars

* accidentally did rendering ticket on this branch lmao

---------

Co-authored-by: Eric Ryu <ericryu19@gmail.com>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Eric Ryu <47423409+ryu-kyu@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>
Co-authored-by: QA1S <77554399+QA1S@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>
Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: Rowel Eshan <94141074+rowel-eshan@users.noreply.github.com>
Co-authored-by: TrueDescription <65911416+TrueDescription@users.noreply.github.com>
Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>

* fix (#117)

* bug: fix return for getModelMatrix

* Add Shader + Logger class (#25) (#31)

ok

* Fix Issue #29 (#30)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* feat: add quad rendering (#32)

* add: method to set matrix4f uniform

* Feat: Implement bloom (#35)

* feat: implement bloom

* fix: fix logger fmt

* Fix linking errors

* fix: rename test dir for utils

* fix: address comments

---------

Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>

* add: method to set matrix4f uniform (#36)

* fix: rename shaders and change paths (#43)

* 18 model loading (#42)

* Added logger and basic shader

* Safe uniform setting

* Fixed segfault

* Added vibe tests

* oops test fix

* Updated for PR requested changes

* Add Shader + Logger class (#25)

* Fixed compiler warning

* 16 modeling meshclass (#33)

* Mesh class textbook code

* mesh class tests

* Remove Textures vector from Mesh class
Textures should be handled in the Model, not the Mesh

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Implemented model loader. Testing remaining still. Update ModelProperties to better fit the structure for the loader

* Implemented model loader. Testing remaining still. Update ModelProperties to better fit the structure for the loader

* quick CMakeLists.txt fix

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>

* feat: implement #14 (#38)

* add pbr shaders

* implements #14 (mostly)

* add: define pi constant locally

* [#13] feat: implement genIrradianceMap (#20)

* Initial skeleton for genIrradianceMap

* Configuring viewport to capture irradiance dimensions after binding FBO

* Integrating shader into irradiance map generator

* Created frag/vert for irradiancemap, decoupled irradiancemap logic off of renderproperties

* Update RenderProperties.hpp

* Implement genBRDFLUT (#40)

* Implement genBRDFLUT

* Cherrypicked Emmy's brdf shaders and restructured shader files

* Render quad with coords

* Gen prefilter map method implementation Resolves #11 (#37)

* Pushing prefilter implementation

* refactor: clean up (#44)

* shader de-duplication + cleanup

* reorganize default shaders

* refactor genIrradianceMap into pbrPreProcessing

* refactor genBRDFLUT into pbrPreProcessing

* refactor genPrefilterMap + clean up documentation

* fix: change shader names to reflect refactoring

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* model loader patch (#69) (#70)

hotfix: Removed irrelevant files, patched model props

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* ff team branch (#97)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Whatsgoingon (#107)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* i thought this was fixed

* update team branch... again...? (#108)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Fix: Use SSBO for lights (#67)

* fix: use UBOs for lights

* switch to ssbo for light data

* update OpenGL to version 4.3

* Jarvis, revert that change

* Add shadow test for directional lights

* Add support for point lights

* sync (#109)

* model loader patch (#69) (#70)

hotfix: Removed irrelevant files, patched model props

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* ff team branch (#97)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Whatsgoingon (#107)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* i thought this was fixed

* update team branch... again...? (#108)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>
Co-authored-by: su-ah <emmrald4@gmail.com>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* 56 - Write shadow pass shaders (#79)

* Copy over joey's shaders for shadow mapping

* Update shadow_mapping_depth.frag

* remove extra shaders

---------

Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: su-ah <emmrald4@gmail.com>

* Fix build errors (#102)

* Update scene object architecture (#103)

* Swicth update methods for Object

* Update the main file architecture

* Fix infinite loop

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Revert "Merge branch 'rendering-team-dev' into main"

This reverts commit fcce2a4, reversing
changes made to 6232759.

yo github wtf was that

* add workflow automation (#65)

* Create branch-on-issue.yml

add a workflow to automatically create a new branch whenever an issue is opened

- the name of the branch is formatted as `[team]-#[issue no.]`, where the team is detected from the labels
- this means that every new issue requires a team label on creation
- the `nobranch` label can be used to prevent creation of a branch for certain issues

* fix: new branch sources from team branch

* add: workflow also creates draft pr. also uses github cli where convenient

* add: workflow which marks issues as "in progress" on commit to its pr

* fix: set token correctly

* add: adds comment on new issue to reference generated pr

* add: bot id

* add: workflow to delete issue branches on merge

* fix: easier way to get issue closed by pr

* implemented stuff

* copy over actions, change ids, remove unnecessary debug vars

* accidentally did rendering ticket on this branch lmao

* fix project info

---------

Co-authored-by: Eric Ryu <ericryu19@gmail.com>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Eric Ryu <47423409+ryu-kyu@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>
Co-authored-by: QA1S <77554399+QA1S@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>
Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: Rowel Eshan <94141074+rowel-eshan@users.noreply.github.com>
Co-authored-by: TrueDescription <65911416+TrueDescription@users.noreply.github.com>
Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>

* ee (#118)

* bug: fix return for getModelMatrix

* Add Shader + Logger class (#25) (#31)

ok

* Fix Issue #29 (#30)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* feat: add quad rendering (#32)

* add: method to set matrix4f uniform

* Feat: Implement bloom (#35)

* feat: implement bloom

* fix: fix logger fmt

* Fix linking errors

* fix: rename test dir for utils

* fix: address comments

---------

Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>

* add: method to set matrix4f uniform (#36)

* fix: rename shaders and change paths (#43)

* 18 model loading (#42)

* Added logger and basic shader

* Safe uniform setting

* Fixed segfault

* Added vibe tests

* oops test fix

* Updated for PR requested changes

* Add Shader + Logger class (#25)

* Fixed compiler warning

* 16 modeling meshclass (#33)

* Mesh class textbook code

* mesh class tests

* Remove Textures vector from Mesh class
Textures should be handled in the Model, not the Mesh

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Implemented model loader. Testing remaining still. Update ModelProperties to better fit the structure for the loader

* Implemented model loader. Testing remaining still. Update ModelProperties to better fit the structure for the loader

* quick CMakeLists.txt fix

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>

* feat: implement #14 (#38)

* add pbr shaders

* implements #14 (mostly)

* add: define pi constant locally

* [#13] feat: implement genIrradianceMap (#20)

* Initial skeleton for genIrradianceMap

* Configuring viewport to capture irradiance dimensions after binding FBO

* Integrating shader into irradiance map generator

* Created frag/vert for irradiancemap, decoupled irradiancemap logic off of renderproperties

* Update RenderProperties.hpp

* Implement genBRDFLUT (#40)

* Implement genBRDFLUT

* Cherrypicked Emmy's brdf shaders and restructured shader files

* Render quad with coords

* Gen prefilter map method implementation Resolves #11 (#37)

* Pushing prefilter implementation

* refactor: clean up (#44)

* shader de-duplication + cleanup

* reorganize default shaders

* refactor genIrradianceMap into pbrPreProcessing

* refactor genBRDFLUT into pbrPreProcessing

* refactor genPrefilterMap + clean up documentation

* fix: change shader names to reflect refactoring

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* model loader patch (#69) (#70)

hotfix: Removed irrelevant files, patched model props

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* ff team branch (#97)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Whatsgoingon (#107)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* i thought this was fixed

* update team branch... again...? (#108)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Fix: Use SSBO for lights (#67)

* fix: use UBOs for lights

* switch to ssbo for light data

* update OpenGL to version 4.3

* Jarvis, revert that change

* Add shadow test for directional lights

* Add support for point lights

* sync (#109)

* model loader patch (#69) (#70)

hotfix: Removed irrelevant files, patched model props

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* ff team branch (#97)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Whatsgoingon (#107)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* i thought this was fixed

* update team branch... again...? (#108)

* model loader patch (#69)

hotfix: Removed irrelevant files, patched model props

* Make libraries static (#80)

This should fix the build error occuring on Windows systems where the linker was having trouble dealing with some of our circular dependencies

* Make AnimationProperties::getModelMatrix const (#96)

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

---------

Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>
Co-authored-by: su-ah <emmrald4@gmail.com>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* 56 - Write shadow pass shaders (#79)

* Copy over joey's shaders for shadow mapping

* Update shadow_mapping_depth.frag

* remove extra shaders

---------

Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: su-ah <emmrald4@gmail.com>

* Fix build errors (#102)

* Update scene object architecture (#103)

* Swicth update methods for Object

* Update the main file architecture

* Fix infinite loop

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* Revert "Merge branch 'rendering-team-dev' into main"

This reverts commit fcce2a4, reversing
changes made to 6232759.

yo github wtf was that

* add workflow automation (#65)

* Create branch-on-issue.yml

add a workflow to automatically create a new branch whenever an issue is opened

- the name of the branch is formatted as `[team]-#[issue no.]`, where the team is detected from the labels
- this means that every new issue requires a team label on creation
- the `nobranch` label can be used to prevent creation of a branch for certain issues

* fix: new branch sources from team branch

* add: workflow also creates draft pr. also uses github cli where convenient

* add: workflow which marks issues as "in progress" on commit to its pr

* fix: set token correctly

* add: adds comment on new issue to reference generated pr

* add: bot id

* add: workflow to delete issue branches on merge

* fix: easier way to get issue closed by pr

* implemented stuff

* copy over actions, change ids, remove unnecessary debug vars

* accidentally did rendering ticket on this branch lmao

* fix project info

* increase limit on project item query

---------

Co-authored-by: Eric Ryu <ericryu19@gmail.com>
Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Eric Ryu <47423409+ryu-kyu@users.noreply.github.com>
Co-authored-by: Tymofiy Sompura <tsompura2@gmail.com>
Co-authored-by: QA1S <77554399+QA1S@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>
Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: Rowel Eshan <94141074+rowel-eshan@users.noreply.github.com>
Co-authored-by: TrueDescription <65911416+TrueDescription@users.noreply.github.com>
Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>

* Implement #115 (#116)

* Branch autogenerated (empty commit)

* empty

---------

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: su-ah <emmrald4@gmail.com>

* Implement #119 (#120)

* Branch autogenerated (empty commit)

* hi

---------

Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: su-ah <emmrald4@gmail.com>

* Created utils

* Make all libraries static to fix linking errors

* Prank'd

* #90 modelprops camera (#93)

* Send Camera's view matrix in modelprops update

* update for new utils

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* AassetManager: model loading integration (#101)

* reworked asset-manager + model loading integration

* added logging + new ile handling

* added tests

* fixed bug

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Integrated model loader

* Fix compilation errors and warnings on mac

* Issue #105 - Add cmd options for common app parameters (#123)

* Implement option parsing

* Fix warning in optionParser tests

* Remove unistd.h import

* Compute delta step from options

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>

* add launcher files

* workflows

* builds?

* object drawing

* set most uniforms - builds, not tested

* Fix compiler error on MSVC with M_PI constant

* Change AnimProp functions to use Meshes

* modeling update

* bind textures

* debugging attempt

* fixed model matrix type (asterisk)

* kind of figured it out

* test

* temp movement code

* broken mouse movement

* fix crash on window close

* CUBEEE

* fix camera

* move prejection matrix function to camera class

* Claude fix for scaling.

* Add bunny assets

* Pre-Renderer

* Pre-Renderer 2

* remove "vulkan-sdk-components"

* Update README.md

* Modify Vulkan SDK setup instructions in README

* Fix vulkan compilation

* fix order of some things

* update pbr-dev with base changes (#139)

* Rearrange drawing code into Renderer

* Documentation for Renderer.hpp functions drawFrame and updateUniformBuffer

* Documentation for RenderSurface and SwapChain

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: Aaron <57018940+0dm@users.noreply.github.com>

* Add base component class

* entity class outline

* added javadocs

* Add camera empty implementation

* rearranged todo comments

* Purge Qt6

* fixed missing chrono include

* basic frame for light calcs in shader

* Hook up camera

* Clean up Entity and Component classes

* Create scene class and move camera logic to it

* Added functions for camera movement. Had to move SauceEngineApp into namespace sauce to get RW ref to camera

* model loader

* Removed palantir malware

* Added base imgui config

* Removed more palantir spyware

* implemented component methods for Entity

* Revert "implemented component methods for Entity"

This reverts commit cfca809.

* implement entity component methods

* Changed deltatime calculation to use std::Chrono

* fix signatures

* Removed herobrine

* #144 Dir Light Implementation (#157)

* #144 Dir Light Implementation

* add future comment re: shininess

* added color uniform

---------

Co-authored-by: su-ah <emmrald4@gmail.com>

* Maks is a king, finished making the function that combines all the lights (#149)

* 140 camera impl (#156)

* camera implementation

* fix lookAt

* euler angles stuff

* Basic Button

* Checkbox

* Finished Components (still editing)

* Oops I fixed a lot of bugs sorry...

* undo unintended change to imgui.ini

* also revert cmakelists.txt

* undo the undos to cmakelists.txt

* remove ui component demo code

* draw cube and fix camera

* [#145] Basic Spot Light Shader Functionality (#147)

* Implemented standard functionality for spot light shader

* Small comment for question

* Changing light choking logic for spotlight

* add note for future change for a param

* Slight modifications based on feedback

* re-add range into attenuation

---------

Co-authored-by: su-ah <emmrald4@gmail.com>

* slide to the left slide to the right (#160)

* complete #151 (#164)

* Point light methods (#162)

* point light method

* small change

* Add ImGui Layout & Containers component abstractions (#163)

- Window (Begin/End)
- ChildWindow (BeginChild/EndChild)
- TreeNode (TreeNode/TreePop)
- CollapsingHeader
- Separator
- Spacing
- SameLine
- Columns (BeginColumns/EndColumns)
- Group (BeginGroup/EndGroup)

* Abstract ui components (#159)

* Abstract ui components

* Update CMakeLists.txt

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* Add Vulkan resources to Mesh class (#169)

* Add Vulkan resources to Mesh class

* Fix error

* Added vulkan resources to the texture class, hooray (#170)

* added look at, physical device stuff, migrate sauceengine from hpp to cpp file

* ImGui Validation layer fixes

* editor initial commit

* Lit and unlit mode, and some vulkan bugfixes

* made the changes required as per the ticket (#171)

* made the changes required as per the ticket

* Add Vulkan resources to Mesh class (#169)

* Add Vulkan resources to Mesh class

* Fix error

* Added vulkan resources to the texture class, hooray (#170)

* maks is a king fr fr

---------

Co-authored-by: Rowel Eshan <94141074+rowel-eshan@users.noreply.github.com>
Co-authored-by: Luis <luisf.vbarro@gmail.com>

* UI (#176)

* Added base imgui config

* Removed more palantir spyware

* Removed herobrine

* Basic Button

* Checkbox

* Finished Components (still editing)

* Oops I fixed a lot of bugs sorry...

* undo unintended change to imgui.ini

* also revert cmakelists.txt

* undo the undos to cmakelists.txt

* remove ui component demo code

* slide to the left slide to the right (#160)

* complete #151 (#164)

* Add ImGui Layout & Containers component abstractions (#163)

- Window (Begin/End)
- ChildWindow (BeginChild/EndChild)
- TreeNode (TreeNode/TreePop)
- CollapsingHeader
- Separator
- Spacing
- SameLine
- Columns (BeginColumns/EndColumns)
- Group (BeginGroup/EndGroup)

* Abstract ui components (#159)

* Abstract ui components

* Update CMakeLists.txt

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>

* added look at, physical device stuff, migrate sauceengine from hpp to cpp file

* ImGui Validation layer fixes

---------

Co-authored-by: Damon Ma <damondma@gmail.com>
Co-authored-by: Damon Ma <76179763+Damon-D-Ma@users.noreply.github.com>
Co-authored-by: Aaron <57018940+0dm@users.noreply.github.com>
Co-authored-by: git-commit-rm-rf <ray.nguyen@mail.utoronto.ca>
Co-authored-by: K.Aujla <142739679+FriedricNietzsche@users.noreply.github.com>
Co-authored-by: Rowel Eshan <94141074+rowel-eshan@users.noreply.github.com>

* Changed code to use PBR shader (#182)

* feat(shaders): add PBR shader with SSBO lights (task 8)

Add shader_pbr.slang implementing a Cook-Torrance specular BRDF for
physically based rendering with dynamic lights via SSBO.

Shader features:
- GGX/Trowbridge-Reitz Normal Distribution Function
- Smith-Schlick Geometry Function (direct-lighting k remapping)
- Fresnel-Schlick approximation
- Energy-conserving Lambertian diffuse
- TBN matrix construction from vertex tangent (w = handedness)
- Normal mapping with configurable scale

Light system:
- Unified Light struct (directional, point, spot) in a single
  StructuredBuffer (SSBO, binding 2) replacing the old separate
  ConstantBuffer arrays from shader_lights.slang
- Dynamic light count via push constant
- Smooth range windowing and spotlight cone falloff

Material system:
- MaterialData UBO (binding 1) mirroring MaterialProperties from
  Material.hpp: baseColorFactor, metallicFactor, roughnessFactor,
  emissiveFactor, normalScale, occlusionStrength
- 5 PBR texture samplers (bindings 3-12): baseColor, normal,
  metallicRoughness, occlusion, emissive
- glTF 2.0 metallic-roughness packing (G=roughness, B=metallic)

Outputs linear HDR; tonemapping and gamma correction are handled by
the post-processing pass (postprocess.slang, tasks 11-12).

IBL note: The shader contains a TODO and hardcoded constant ambient
term (0.03 * albedo * ao). Task 10 IBL pre-compute shaders
(ibl_irradiance, ibl_prefilter, ibl_brdf_lut) are now available.
The TODO is kept as a reference point for when IBL sampling is
integrated into the PBR shader.

Descriptor layout (set 0):
  0  - ConstantBuffer<UniformBuffer>      (vert+frag)
  1  - ConstantBuffer<MaterialData>       (frag)
  2  - StructuredBuffer<Light>            (frag, SSBO)
  3  - Texture2D baseColorMap             (frag)
  4  - SamplerState baseColorSampler      (frag)
  5  - Texture2D normalMap                (frag)
  6  - SamplerState normalSampler         (frag)
  7  - Texture2D metallicRoughnessMap     (frag)
  8  - SamplerState metallicRoughnessSampler (frag)
  9  - Texture2D occlusionMap             (frag)
  10 - SamplerState occlusionSampler      (frag)
  11 - Texture2D emissiveMap              (frag)
  12 - SamplerState emissiveSampler       (frag)
  push_constant - uint lightCount

Build: registered shaderPBRTarget in shaders/CMakeLists.txt.
Validated: compiles cleanly with slangc, passes spirv-val.

* fix(shaders): re-add tonemap and gamma with TODOs for post-process integration

Post-process shader (postprocess.slang) exists but is not yet wired
into the renderer pipeline. Re-adding Reinhard tonemap and gamma
correction in shader_pbr.slang so output is viewable in the meantime.
Marked with TODO(tasks 11-12) for removal once integrated.

* Updated shader to use the PBR shader

---------

Co-authored-by: Krisvir Aujla <krisviraujla@gmail.com>

* [PBR] shader with SSBO lights (task 8) (#180)

* feat(shaders): add PBR shader with SSBO lights (task 8)

Add shader_pbr.slang implementing a Cook-Torrance specular BRDF for
physically based rendering with dynamic lights via SSBO.

Shader features:
- GGX/Trowbridge-Reitz Normal Distribution Function
- Smith-Schlick Geometry Function (direct-lighting k remapping)
- Fresnel-Schlick approximation
- Energy-conserving Lambertian diffuse
- TBN matrix construction from vertex tangent (w = handedness)
- Normal mapping with configurable scale

Light system:
- Unified Light struct (directional, point, spot) in a single
  StructuredBuffer (SSBO, binding 2) replacing the old separate
  ConstantBuffer arrays from shader_lights.slang
- Dynamic light count via push constant
- Smooth range windowing and spotlight cone falloff

Material system:
- MaterialData UBO (binding 1) mirroring MaterialProperties from
  Material.hpp: baseColorFactor, metallicFactor, roughnessFactor,
  emissiveFactor, normalScale, occlusionStrength
- 5 PBR texture samplers (bindings 3-12): baseColor, normal,
  metallicRoughness, occlusion, emissive
- glTF 2.0 metallic-roughness packing (G=roughness, B=metallic)

Outputs linear HDR; tonemapping and gamma correction are handled by
the post-processing pass (postprocess.slang, tasks 11-12).

IBL note: The shader contains a TODO and hardcoded constant ambient
term (0.03 * albedo * ao). Task 10 IBL pre-compute shaders
(ibl_irradiance, ibl_prefilter, ibl_brdf_lut) are now available.
The TODO is kept as a reference point for when IBL sampling is
integrated into the PBR shader.

Descriptor layout (set 0):
  0  - ConstantBuffer<UniformBuffer>      (vert+frag)
  1  - ConstantBuffer<MaterialData>       (frag)
  2  - StructuredBuffer<Light>            (frag, SSBO)
  3  - Texture2D baseColorMap             (frag)
  4  - SamplerState baseColorSampler      (frag)
  5  - Texture2D normalMap                (frag)
  6  - SamplerState normalSampler         (frag)
  7  - Texture2D metallicRoughnessMap     (frag)
  8  - SamplerState metallicRoughnessSampler (frag)
  9  - Texture2D occlusionMap             (frag)
  10 - SamplerState occlusionSampler      (frag)
  11 - Texture2D emissiveMap              (frag)
  12 - SamplerState emissiveSampler       (frag)
  push_constant - uint lightCount

Build: registered shaderPBRTarget in shaders/CMakeLists.txt.
Validated: compiles cleanly with slangc, passes spirv-val.

* fix(shaders): re-add tonemap and gamma with TODOs for post-process integration

Post-process shader (postprocess.slang) exists but is not yet wired
into the renderer pipeline. Re-adding Reinhard tonemap and gamma
correction in shader_pbr.slang so output is viewable in the meantime.
Marked with TODO(tasks 11-12) for removal once integrated.

* Update shaders/shader_pbr.slang

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update shaders/shader_pbr.slang

hmm good catch clanker

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: su-ah <emmrald4@gmail.com>

* Scene loading and saving

* fix merge target (#192)

* Add collider stuff

* Add unimplemented collision methods/classes

* solver? i hardly know 'er

* Update XPBD.hpp

* Pushing bloom shader file

* Pushing cmake file change

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Aaron <57018940+0dm@users.noreply.github.com>
Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>

* Load scenes from command line

* im not gui anymore

* 168 vulkan model (#199)

* Starting to figure out the model vulkan thing

* modified material and model to help

* Fix compilation errors

* Fix post-merge compilation error

---------

Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Tymofiy Sompura <77696830+P0k3rf4ce@users.noreply.github.com>

* Implement HDR Environment Map Loading (#200)

* Implement HDR Environment Map Loading

* seg fault workaround

* Revert "seg fault workaround"

This reverts commit 29cdaee.

* capitalized the HDR in getHDRData() bc thats acc probably a good idea

---------

Co-authored-by: su-ah <emmrald4@gmail.com>

* Implemented skeleton functionality for integrating IBL Map Generation

* finished shape presets buttons (#201)

* [#184] Add remove component button to editor inspector (#204)

* Added a way to replace current Model. Modified function signatures to include filepath (#203)

* FIX

---------

Co-authored-by: Noah Freelove <90488068+NoahFreelove@users.noreply.github.com>
Co-authored-by: MauoHardy <113133868+MauoHardy@users.noreply.github.com>
Co-authored-by: raynimish <66944002+raynimish@users.noreply.github.com>
Co-authored-by: HaseebManzoor6 <42979246+HaseebManzoor6@users.noreply.github.com>
Co-authored-by: git-commit-rm-rf <ray.nguyen@mail.utoronto.ca>
Co-authored-by: Maksym-W <113399768+Maksym-W@users.noreply.github.com>
Co-authored-by: Haseeb <haseebmanzoor6@gmail.com>
Co-authored-by: QA1S <77554399+QA1S@users.noreply.github.com>
Co-authored-by: QA1S <qais.alkhatib@mail.utoronto.ca>
Co-authored-by: su-ah <emmrald4@gmail.com>
Co-authored-by: Eric Ryu <ericryu19@gmail.com>
Co-authored-by: Tymofiy Sompura <sompurat@mail.utoronto.ca>
Co-authored-by: Eric Ryu <47423409+ryu-kyu@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-3MLASM6.localdomain>
Co-authored-by: Ziad Zananiri <ziadzananirii@gmail.com>
Co-authored-by: Rowel Eshan <94141074+rowel-eshan@users.noreply.github.com>
Co-authored-by: TrueDescription <65911416+TrueDescription@users.noreply.github.com>
Co-authored-by: Ethan Vince-Budan <ethan.vince.budan@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
Co-authored-by: Aaron <57018940+0dm@users.noreply.github.com>
Co-authored-by: varoniba <luis.varoni@mail.utoronto.ca>
Co-authored-by: James McCallum <jamesgrm081@gmail.com>
Co-authored-by: James <119550406+jamesgrm-mccallum@users.noreply.github.com>
Co-authored-by: Luis <luisf.vbarro@gmail.com>
Co-authored-by: Damon Ma <damondma@gmail.com>
Co-authored-by: Damon Ma <76179763+Damon-D-Ma@users.noreply.github.com>
Co-authored-by: K.Aujla <142739679+FriedricNietzsche@users.noreply.github.com>
Co-authored-by: Krisvir Aujla <krisviraujla@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@P0k3rf4ce P0k3rf4ce mentioned this pull request Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request help wanted Extra attention is needed question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement shader spot light method

3 participants