{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":387230355,"defaultBranch":"main","name":"game-engine","ownerLogin":"kraemer-raimund","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-18T17:17:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/33892834?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715618019.0","currentOid":""},"activityList":{"items":[{"before":"f9f017e06aa79a29cc50d32d4035ce01ab1097cd","after":"c2b29fc3e5d716a271cc4f549a95f4b37e8777cb","ref":"refs/heads/main","pushedAt":"2024-06-02T20:23:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Implement simple skybox/sphere mapping","shortMessageHtmlLink":"Implement simple skybox/sphere mapping"}},{"before":"2d226d60cbf2e397185217c72cb737f061e0b21e","after":"f9f017e06aa79a29cc50d32d4035ce01ab1097cd","ref":"refs/heads/main","pushedAt":"2024-06-02T15:40:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Simplify/optimize barycentric coordinates\n\nThe functional expression may be slightly more readable, but since\nthis is on the hot path and executed potentially multiple times per\npixel each frame, we go with the simple boolean expression without\narray allocation.","shortMessageHtmlLink":"Simplify/optimize barycentric coordinates"}},{"before":"740929690cf05f7c4a495bf3d7b7e489735d60cb","after":"2d226d60cbf2e397185217c72cb737f061e0b21e","ref":"refs/heads/main","pushedAt":"2024-06-02T15:20:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Rasterize with floating point precision","shortMessageHtmlLink":"Rasterize with floating point precision"}},{"before":"de7f8735f202813be6b1960b4b95971a2680735b","after":"740929690cf05f7c4a495bf3d7b7e489735d60cb","ref":"refs/heads/main","pushedAt":"2024-05-31T21:47:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Fill pixel gaps with nearest in denoising filter\n\nInstead of interpolating between the nearest pixels, we simply take\nthe one nearest pixel. This is significantly faster, and doesn't even\nlook that much worse, in fact in looks much less blurry than with\ninterpolation.","shortMessageHtmlLink":"Fill pixel gaps with nearest in denoising filter"}},{"before":"2452f747cc7e571892fe843d65b907927089d060","after":"de7f8735f202813be6b1960b4b95971a2680735b","ref":"refs/heads/main","pushedAt":"2024-05-31T21:45:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Simplify array copy","shortMessageHtmlLink":"Simplify array copy"}},{"before":"0ac43be6caa39de1f8da1149d5042d70a96d009a","after":"2452f747cc7e571892fe843d65b907927089d060","ref":"refs/heads/main","pushedAt":"2024-05-31T21:12:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Set default display buffer background to black again","shortMessageHtmlLink":"Set default display buffer background to black again"}},{"before":"011445e7ea8f001c0ac6b03549857c06a2617cba","after":"0ac43be6caa39de1f8da1149d5042d70a96d009a","ref":"refs/heads/main","pushedAt":"2024-05-31T21:08:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Add unlit textured shader for floor\n\nThis gives a significant performance improvement over the standard\nPBR shader for large surfaces like the floor, and unlike the unlit\n(single-color) shader it can still look decent with baked lighting/\nshadows.","shortMessageHtmlLink":"Add unlit textured shader for floor"}},{"before":"d02c70d9ee00da2bb2b2ff91b2df27219b7489cd","after":"011445e7ea8f001c0ac6b03549857c06a2617cba","ref":"refs/heads/main","pushedAt":"2024-05-31T20:16:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Keep sun static and floor unlit for performance\n\nInterpolation seems to be the performance bottleneck, making the floor\nvery performance intensive despite its simple geometry, since it covers\nso many pixels on screen. We set it to unlit for now, and add a shader\nthat only interpolates UVs so that we can use prebaked lighting for\nlarge surfaces like floors and walls.","shortMessageHtmlLink":"Keep sun static and floor unlit for performance"}},{"before":"850d9388b427a131c47ed0a116ce894e0883b5eb","after":"d02c70d9ee00da2bb2b2ff91b2df27219b7489cd","ref":"refs/heads/main","pushedAt":"2024-05-31T20:00:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Introduce point lights","shortMessageHtmlLink":"Introduce point lights"}},{"before":"8010286d0485c66fabde76ae70da1af4520d50a9","after":"850d9388b427a131c47ed0a116ce894e0883b5eb","ref":"refs/heads/main","pushedAt":"2024-05-31T19:34:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Delete obsolete shader\n\nThis shader was moved to try out some stuff early on, but we will\nimplement similar functionality with animations in the future, and\nthis vertex shader was almost a complete duplicate of the standard\nPBR shader.","shortMessageHtmlLink":"Delete obsolete shader"}},{"before":"585aff61efb18a8eedd59a26de8f3775ceeb0236","after":"8010286d0485c66fabde76ae70da1af4520d50a9","ref":"refs/heads/main","pushedAt":"2024-05-31T15:48:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Define TransformNode as part of the Node type hierarchy","shortMessageHtmlLink":"Define TransformNode as part of the Node type hierarchy"}},{"before":"9da901b637bef020acede84ff6288d71d94f61db","after":"585aff61efb18a8eedd59a26de8f3775ceeb0236","ref":"refs/heads/main","pushedAt":"2024-05-31T08:55:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Slightly change sun angle for easier troubleshooting of lighting","shortMessageHtmlLink":"Slightly change sun angle for easier troubleshooting of lighting"}},{"before":"4fe3dcd935eb9030e92e0473e9d71ddd2100359b","after":"9da901b637bef020acede84ff6288d71d94f61db","ref":"refs/heads/main","pushedAt":"2024-05-31T08:54:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Fix calculation of TBN matrix to fix lighting issue\n\nThe w component for the 3 vectors was 1, which is wrong in this case,\nbecause the TBN matrix is normally a 3x3 matrix and we are using a\n4x4 matrix that behaves like a 3x3 matrix by setting the w components\nto 0 and only the m44 position to 1.\n\nWe also normalize the vectors just in case, because the 3D model data\nis not guaranteed to provide normalized vectors, but this was not part\nof the lighting problem in this case.","shortMessageHtmlLink":"Fix calculation of TBN matrix to fix lighting issue"}},{"before":"2d5b658b169463d2fbba87b74ef46d2b658df868","after":"4fe3dcd935eb9030e92e0473e9d71ddd2100359b","ref":"refs/heads/main","pushedAt":"2024-05-30T21:28:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Fix sign of sun light direction vector","shortMessageHtmlLink":"Fix sign of sun light direction vector"}},{"before":"83c0ba3184fcad4aa60cbccf4261c2335db9d31b","after":"2d5b658b169463d2fbba87b74ef46d2b658df868","ref":"refs/heads/main","pushedAt":"2024-05-30T21:11:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Remove render textures and additional cameras from example scene","shortMessageHtmlLink":"Remove render textures and additional cameras from example scene"}},{"before":"732210f45c495df137d7457635165942621f26fb","after":"83c0ba3184fcad4aa60cbccf4261c2335db9d31b","ref":"refs/heads/main","pushedAt":"2024-05-30T20:56:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Remove duplication","shortMessageHtmlLink":"Remove duplication"}},{"before":"336ac2ffbe4c7b49c0732436c6545829fda020b9","after":"732210f45c495df137d7457635165942621f26fb","ref":"refs/heads/main","pushedAt":"2024-05-30T20:43:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Switch from bilinear to nearest texture sampling\n\nHopefully this will improve the current performance problems a bit.","shortMessageHtmlLink":"Switch from bilinear to nearest texture sampling"}},{"before":"2d07e04bfa5644f9feea339e9291a65ed89b4b26","after":"336ac2ffbe4c7b49c0732436c6545829fda020b9","ref":"refs/heads/main","pushedAt":"2024-05-30T17:54:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Reduce number of render textures to 4\n\nThis saves quite some memory, and more than 4 render textures will\nlikely not be practicable anyway.","shortMessageHtmlLink":"Reduce number of render textures to 4"}},{"before":"3e89ba3a685c4fcfff9b6d7b6484621f43674bd9","after":"2d07e04bfa5644f9feea339e9291a65ed89b4b26","ref":"refs/heads/main","pushedAt":"2024-05-30T17:16:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Minor simplification","shortMessageHtmlLink":"Minor simplification"}},{"before":"cab9fdbe7af1451ff144ef66aec569d17637e9ee","after":"3e89ba3a685c4fcfff9b6d7b6484621f43674bd9","ref":"refs/heads/main","pushedAt":"2024-05-30T17:15:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Simplify nested coroutines used for rendering\n\nWe still use separate coroutines on the higher levels, i.e., per\ncamera and per object in the scene, but we simplify those that had\nbeen in use for sub-meshes where there is no noticeable performance\ndifference but a decent gain in simplicity.","shortMessageHtmlLink":"Simplify nested coroutines used for rendering"}},{"before":"f87c838669579f9da6e95034b1b9ab1e4b7b851c","after":"cab9fdbe7af1451ff144ef66aec569d17637e9ee","ref":"refs/heads/main","pushedAt":"2024-05-30T17:10:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Synchronize render and logic threads\n\nThere is no noticeable performance difference, and we avoid many\npotential synchronization problems this way.","shortMessageHtmlLink":"Synchronize render and logic threads"}},{"before":"162581be5a30f2ef2fb06d401cb3f6b9d387152c","after":"f87c838669579f9da6e95034b1b9ab1e4b7b851c","ref":"refs/heads/main","pushedAt":"2024-05-30T16:31:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Define sun light as part of the scene","shortMessageHtmlLink":"Define sun light as part of the scene"}},{"before":"77df78211315736e94f384c4473d13249773e93b","after":"162581be5a30f2ef2fb06d401cb3f6b9d387152c","ref":"refs/heads/main","pushedAt":"2024-05-30T16:24:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Pass camera position to shaders as a uniform","shortMessageHtmlLink":"Pass camera position to shaders as a uniform"}},{"before":"fdff5c6e8d1753a1ff6603385eb332c7fe1c046a","after":"77df78211315736e94f384c4473d13249773e93b","ref":"refs/heads/main","pushedAt":"2024-05-30T16:17:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Delete obsolete VertexShaderInput class\n\nWe now pass the vertex and a `ShaderUniforms` object to the vertex\nshader, the latter being similar to the previously used\nVertexShaderInput, but more flexible.","shortMessageHtmlLink":"Delete obsolete VertexShaderInput class"}},{"before":"5349b41c355fa941f992511e107c1d562b12e56c","after":"fdff5c6e8d1753a1ff6603385eb332c7fe1c046a","ref":"refs/heads/main","pushedAt":"2024-05-30T16:10:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Pass sun light direction to shaders as a uniform","shortMessageHtmlLink":"Pass sun light direction to shaders as a uniform"}},{"before":"2aded3680aacb3c53da0ec2371de1cb2b35f8c7d","after":"5349b41c355fa941f992511e107c1d562b12e56c","ref":"refs/heads/main","pushedAt":"2024-05-30T16:01:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Pass matrices to shaders as uniforms","shortMessageHtmlLink":"Pass matrices to shaders as uniforms"}},{"before":"4579c294f90e47052aaaa15e9053dabe06b88041","after":"2aded3680aacb3c53da0ec2371de1cb2b35f8c7d","ref":"refs/heads/main","pushedAt":"2024-05-30T15:34:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Add comment regarding linear interpolation during clipping","shortMessageHtmlLink":"Add comment regarding linear interpolation during clipping"}},{"before":"d2eb20a4347cd5e5d9208359ec64bdc4ff8d4dba","after":"4579c294f90e47052aaaa15e9053dabe06b88041","ref":"refs/heads/main","pushedAt":"2024-05-30T15:31:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Interpolate shader variables for vertices generated during clipping","shortMessageHtmlLink":"Interpolate shader variables for vertices generated during clipping"}},{"before":"6f5377229cbc792b916eb0be1569284ca92e84af","after":"d2eb20a4347cd5e5d9208359ec64bdc4ff8d4dba","ref":"refs/heads/main","pushedAt":"2024-05-30T14:42:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Introduce shader uniforms with the example of ambient lighting","shortMessageHtmlLink":"Introduce shader uniforms with the example of ambient lighting"}},{"before":"4416c465381105c9e3b549ec8e3ca84990f9e568","after":"6f5377229cbc792b916eb0be1569284ca92e84af","ref":"refs/heads/main","pushedAt":"2024-05-30T12:26:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kraemer-raimund","name":"Raimund Krämer","path":"/kraemer-raimund","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33892834?s=80&v=4"},"commit":{"message":"Reorder built-in shader definitions","shortMessageHtmlLink":"Reorder built-in shader definitions"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWldi2wA","startCursor":null,"endCursor":null}},"title":"Activity · kraemer-raimund/game-engine"}