{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":81029769,"defaultBranch":"master","name":"c-ray","ownerLogin":"vkoskiv","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-02-05T23:26:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/20117975?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1699444418.0","currentOid":""},"activityList":{"items":[{"before":"3c2a86d3316b0207e68ec8d9774e2a0731e86c47","after":"a63efcb7c1602a379524ba424069016b22e24cc0","ref":"refs/heads/master","pushedAt":"2024-05-17T09:00:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"docs: fix url to stb_image","shortMessageHtmlLink":"docs: fix url to stb_image"}},{"before":"569fbe9502aa9406d22f2cc376e5744a8bbe23ed","after":"3c2a86d3316b0207e68ec8d9774e2a0731e86c47","ref":"refs/heads/master","pushedAt":"2024-04-09T18:45:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+blender: Fix status info display in interactive mode\n\nFew things were broken with the recent shuffle from ctypes to defining\nthe type in CPython code.","shortMessageHtmlLink":"lib+blender: Fix status info display in interactive mode"}},{"before":"52a64bb71e010f75cf87645cbcc114b0848b0a6a","after":"569fbe9502aa9406d22f2cc376e5744a8bbe23ed","ref":"refs/heads/master","pushedAt":"2024-04-08T16:20:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"blender: Fix blender 4.1 tag_redraw weirdness\n\nWhy it worked before but doesn't anymore is anyone's guess. Moving that\ncall up a bit makes it do the thing again.","shortMessageHtmlLink":"blender: Fix blender 4.1 tag_redraw weirdness"}},{"before":"80992a497766a4a8ea7e3be935d3992e2b20735c","after":"52a64bb71e010f75cf87645cbcc114b0848b0a6a","ref":"refs/heads/master","pushedAt":"2024-04-07T20:32:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"blender: Use cb info type in interactive cb","shortMessageHtmlLink":"blender: Use cb info type in interactive cb"}},{"before":"489c17bdd7e94f14eb0692e6320da552c94eb321","after":"80992a497766a4a8ea7e3be935d3992e2b20735c","ref":"refs/heads/master","pushedAt":"2024-04-07T20:28:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"blender: Blender 4.1 breaks things\n\nMy bitmap drawing code is busted, and this line was complaining. Can't\nbe bothered to investigate this further right now, but these two fixes\ncan go in.\nI just really wish Blender people provided more example code and best\npractices. I've been at this for a while, and it still feels like I have\nno idea what the \"good ways\" to do things are. The docs have minimal\ncode examples that don't really explain much, and the rest is just\nautogenerated descriptions for what different things are. As it is now,\nI'm barely keeping up, the integration barely works, and things are\nalready breaking even more with new Blender releases :(","shortMessageHtmlLink":"blender: Blender 4.1 breaks things"}},{"before":"73d612738a3bc91914392ddce8b9f5dfde6393f9","after":"489c17bdd7e94f14eb0692e6320da552c94eb321","ref":"refs/heads/master","pushedAt":"2024-04-05T14:18:48.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"Merge branch 'madmann91-better_instance_bbox'","shortMessageHtmlLink":"Merge branch 'madmann91-better_instance_bbox'"}},{"before":"04481171eefd5f7f5db4c455e83d7b90dcce6769","after":"73d612738a3bc91914392ddce8b9f5dfde6393f9","ref":"refs/heads/master","pushedAt":"2024-04-05T13:26:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"Bug fix: Move calls to `SDL_Quit()` and `SDL_VideoQuit()` last","shortMessageHtmlLink":"Bug fix: Move calls to SDL_Quit() and SDL_VideoQuit() last"}},{"before":"469eaa6b018e61d894639e3258558f8d9534b243","after":"04481171eefd5f7f5db4c455e83d7b90dcce6769","ref":"refs/heads/master","pushedAt":"2024-04-05T10:03:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+scripts: Fix & tweak instance testing script\n\nIt should now work just by running the script. Amount of statues and\nother parameters can be tweaked in the script directly.","shortMessageHtmlLink":"lib+scripts: Fix & tweak instance testing script"}},{"before":"6fb776b4a4f445cdbc2561708a7e7fdeef5d1ad3","after":"469eaa6b018e61d894639e3258558f8d9534b243","ref":"refs/heads/master","pushedAt":"2024-04-04T19:04:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Remove useless memcpy() calls in node allocators\n\nFairly ugly that we even have these tiny dynamic allocs here for copying\nnode trees, but at least now we don't have memcpy cluttering it as well.","shortMessageHtmlLink":"lib: Remove useless memcpy() calls in node allocators"}},{"before":"44b980cc6df64f431ad404b001ae1d2ddd3dcffa","after":"6fb776b4a4f445cdbc2561708a7e7fdeef5d1ad3","ref":"refs/heads/master","pushedAt":"2024-04-04T18:50:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Make thread_pool member names a bit more obvious\n\nthread_count really doens't mean much, it's actually the amount of\nthreads we have available for running tasks. And s/workers/threads for\nthe other one to keep the naming more consistent.","shortMessageHtmlLink":"lib: Make thread_pool member names a bit more obvious"}},{"before":"f3061020805506ff46480cef66872b2ef5b3c13c","after":"44b980cc6df64f431ad404b001ae1d2ddd3dcffa","ref":"refs/heads/master","pushedAt":"2024-02-05T16:30:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Un-GNU-ify C codebase\n\nUntil now, I had specified -std=c99, but defined _GNU_SOURCE, meaning I\nwas using a bunch of GNU extensions. It's comfy to write code that way,\nbut portability is even more comfy. I enabled -Wpedantic for this pass,\nbut I just can't bear cluttering the dlsym() stuff with unnecessary\ncasts just because ia64 was weird back in the day, so I didn't leave it\non. I'll check on things now and then, but for now, this is a good start\nto better POSIX C99 adherence :]","shortMessageHtmlLink":"lib: Un-GNU-ify C codebase"}},{"before":"a0ec8b3b7109c92aeb3cd7aa40313f287d97670c","after":"f3061020805506ff46480cef66872b2ef5b3c13c","ref":"refs/heads/master","pushedAt":"2024-02-04T22:03:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"tests: Handle loglevel flag in testrunner\n\nUseful when manually running individual test cases with verbose logging.","shortMessageHtmlLink":"tests: Handle loglevel flag in testrunner"}},{"before":"22334abe2f125386f8033d7e1cdf0f12c0b1941a","after":"a0ec8b3b7109c92aeb3cd7aa40313f287d97670c","ref":"refs/heads/master","pushedAt":"2024-02-04T17:37:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"tests: Free args in testrunner main","shortMessageHtmlLink":"tests: Free args in testrunner main"}},{"before":"c145fb201dbd6adc7484ca463b6d3c5041e40e10","after":"22334abe2f125386f8033d7e1cdf0f12c0b1941a","ref":"refs/heads/master","pushedAt":"2024-01-24T17:16:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"meta: Fix gitsha1.c\n\nAlso update .gitignore","shortMessageHtmlLink":"meta: Fix gitsha1.c"}},{"before":"3998e99bb31eaf62b2fdb78128621e63a5b93f83","after":"c145fb201dbd6adc7484ca463b6d3c5041e40e10","ref":"refs/heads/master","pushedAt":"2024-01-16T18:55:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: zero-init color_ramp array\n\nThe dyn array thing I wrote assumes zero-initialized array structs.","shortMessageHtmlLink":"lib: zero-init color_ramp array"}},{"before":"d648912f1524793d23e0caa10062a18758512819","after":"3998e99bb31eaf62b2fdb78128621e63a5b93f83","ref":"refs/heads/master","pushedAt":"2024-01-14T21:54:37.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+blender: Repurpose ray length node into a light path node\n\nIt now matches the Light Path node in Cycles for the most part. We're\nalso now passing in the full incident ray into samplers so we can use it\nwhile evaluating shaders.\nThe new light path module has dedicated eval functions for each output\ntype, to avoid needless branching at render time.\nQuick test in Blender shows that it seems to work as expected.","shortMessageHtmlLink":"lib+blender: Repurpose ray length node into a light path node"}},{"before":"0f36725db6a510ed68729fd39d581c20d4d937a9","after":"d648912f1524793d23e0caa10062a18758512819","ref":"refs/heads/master","pushedAt":"2024-01-14T01:02:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+blender: Attempt to implement Color Ramp node\n\nThis was one of those nodes I only sort of grokked while using Blender.\nNow was a good excuse to learn how it works both inside and out :]\n\nI'm not convinced my implementation works correctly yet, I didn't write\ntests yet either.\nI still have many more nodes to implement, so I'll try to go for a\ndepth-first approach here and worry about validating correctness later.","shortMessageHtmlLink":"lib+blender: Attempt to implement Color Ramp node"}},{"before":"1025c3b2466e8f85ecea000cb6ed87f278d7668b","after":"0f36725db6a510ed68729fd39d581c20d4d937a9","ref":"refs/heads/master","pushedAt":"2024-01-12T09:02:07.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Fix crash in mat_invert()\n\nIt just logged an error and called abort() if a degenerated matrix was\npassed in.\nNow it tries fallbacks, first adding FLT_EPSILON to the diagonal, and\nthen reverting back to an identity matrix as a last resort.","shortMessageHtmlLink":"lib: Fix crash in mat_invert()"}},{"before":"a397682bb3c94bb5ef171ff28704e1e2701953c9","after":"1025c3b2466e8f85ecea000cb6ed87f278d7668b","ref":"refs/heads/master","pushedAt":"2024-01-10T22:08:49.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"blender: Extremely hacky fix for shaded viewport zoom\n\nPERSP now works perfectly, assuming your viewport is either a square, or\nwider than it is tall.\nCAMERA perspective is still very wrong, and I have absolutely no clue\nhow to fix it. I trawled through Blender's code, found a weird 'magic\nzoom' formula, asked the Blender devs about that, looked at some more\ncode, and I still have no clue how one is supposed to compute valid\ncamera parameters from everything correctly.\nIt now sort of, kind of, works. And the perspective type works\nperfectly, as long as you size your viewport correctly.\nGood enough for now!","shortMessageHtmlLink":"blender: Extremely hacky fix for shaded viewport zoom"}},{"before":"27fac5fbf5e16784cd444dbb74ec19f2f97e00ad","after":"a397682bb3c94bb5ef171ff28704e1e2701953c9","ref":"refs/heads/master","pushedAt":"2024-01-08T20:40:23.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Fix serializer_serialize test\n\nI wasn't freeing the deserialized renderer, which obviously leaks a lot\nof memory.\nI also moved the assert to after these frees, since this test still is\nstill failing, and I don't want the misleading leak report from ASAN\ncaused by the early-return.\nCome to think of it, I really should refactor test_assert() to set a\nflag we always return at the end, so we don't encounter this same issue\nlater on. // TODO!","shortMessageHtmlLink":"lib: Fix serializer_serialize test"}},{"before":"cb6d8b3dd9dec77c8fa0fd5714ea41edd84d76e6","after":"27fac5fbf5e16784cd444dbb74ec19f2f97e00ad","ref":"refs/heads/master","pushedAt":"2024-01-06T14:23:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Windows build fix","shortMessageHtmlLink":"lib: Windows build fix"}},{"before":"238f0751f0aacbf93f271368a6994daf0ad86f86","after":"cb6d8b3dd9dec77c8fa0fd5714ea41edd84d76e6","ref":"refs/heads/master","pushedAt":"2024-01-05T22:54:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+meta: Fix & clean up testrunner\n\nI knowingly broke it while hacking on the lib effort, but then promptly\nforgot to fix it.\nIt is now fixed, and nicer to use. Just invoke via make:\n\nmake test -j6 suite=vecmath\n\nsuite is optional, omit it to run all tests in all suites.","shortMessageHtmlLink":"lib+meta: Fix & clean up testrunner"}},{"before":"284c616df1dfd4e2c6db264e8dedb7e933263dad","after":"238f0751f0aacbf93f271368a6994daf0ad86f86","ref":"refs/heads/master","pushedAt":"2024-01-05T14:01:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Implement thread pool and use it for BVH building\n\nI was intending on simplifying the main renderer thread management with\nthis as well, but on second thought, this isn't really a good fit for\nthat. The current approach gives us load balancing for free, since the\nfixed render threads just pick up new tiles to render as soon as they\nfinish the previous one.\nUsing this thread pool for rendering will require a bit more planning.","shortMessageHtmlLink":"lib: Implement thread pool and use it for BVH building"}},{"before":"7d65d545b31bfa588208889682649a5ec483fb3e","after":"284c616df1dfd4e2c6db264e8dedb7e933263dad","ref":"refs/heads/master","pushedAt":"2024-01-04T16:58:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"python: Retain handle to renderer in scene class\n\nFew random tweaks I had knocking around in my staging area included as\nwell.","shortMessageHtmlLink":"python: Retain handle to renderer in scene class"}},{"before":"7ede985420a89ab80eca253a5e27de3c4dd08384","after":"7d65d545b31bfa588208889682649a5ec483fb3e","ref":"refs/heads/master","pushedAt":"2024-01-04T16:55:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Fix a deadlock in exit condition\n\nThe driver was calling cr_renderer_stop() from within the on_status\ncallback, which should be fine, but we weren't checking for. Now we\ncheck for it.","shortMessageHtmlLink":"lib: Fix a deadlock in exit condition"}},{"before":"4dbf3b18072fae03440ac0beff2241e8136e1fde","after":"7ede985420a89ab80eca253a5e27de3c4dd08384","ref":"refs/heads/master","pushedAt":"2024-01-04T16:46:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib: Fix bug introduced in c0a6b2d4\n\nI wasn't passing the render buffer to the driver callbacks properly, and\nthat was hidden by the casts that happen in the private/public boundary.","shortMessageHtmlLink":"lib: Fix bug introduced in c0a6b2d"}},{"before":"1aa20200322a39a538893d151e81f60d94b7a2d3","after":"4dbf3b18072fae03440ac0beff2241e8136e1fde","ref":"refs/heads/master","pushedAt":"2024-01-04T16:16:16.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+win32: Swap out Mutex for CriticalSection\n\nApparently, CriticalSection doesn't need to go to kernel space on every\nacquisition, unlike with a Mutex.\nBlind commit, awaiting runner to see if it builds.","shortMessageHtmlLink":"lib+win32: Swap out Mutex for CriticalSection"}},{"before":"1e427f8fdfd22e0d700a71bab88033b16c80a1bd","after":"1aa20200322a39a538893d151e81f60d94b7a2d3","ref":"refs/heads/master","pushedAt":"2024-01-02T22:55:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"lib+blender: Hook up interactive status, clean up debug prints\n\nI decided to revert some of the earlier changes, I'll figure out the\nresolution adjustment later and keep it like this for now for better\nresponsiveness.\nThe status string now indicates sample progress, and an error with\nCrayDrawData was fixed.","shortMessageHtmlLink":"lib+blender: Hook up interactive status, clean up debug prints"}},{"before":"14fe268789a3d340ddff1cb27e6bb0de28abb60f","after":"1e427f8fdfd22e0d700a71bab88033b16c80a1bd","ref":"refs/heads/master","pushedAt":"2024-01-02T19:49:03.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"blender: Specify 32-bit floats for memory view\n\nIt seems to default to doubles, but the buffer has floats, so specify\nthat.","shortMessageHtmlLink":"blender: Specify 32-bit floats for memory view"}},{"before":"322bba68b74a1530c24941a0f1759d65ef3c3da7","after":"14fe268789a3d340ddff1cb27e6bb0de28abb60f","ref":"refs/heads/master","pushedAt":"2024-01-01T23:03:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vkoskiv","name":"Valtteri Koskivuori","path":"/vkoskiv","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20117975?s=80&v=4"},"commit":{"message":"meta: Remove unnecessary subheading from README","shortMessageHtmlLink":"meta: Remove unnecessary subheading from README"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETLY6rgA","startCursor":null,"endCursor":null}},"title":"Activity ยท vkoskiv/c-ray"}