<joseph_>
Sounds good, I'd be happy to discuss it further
<joseph_>
kintel: Hello, I don't believe we've messaged before. I'm Joseph/jbinvnt, last year's Summer of Code contributor. My previous project to support custom shaders (draft PR #4330) delved into the renderer classes. I'm thinking about doing another GSoC project this year, and I wanted to hear your thoughts about me possibly helping with OpenGL refactoring. As a full-time university student I often won't see every IRC conversation that
<joseph_>
scrolls through. But if you mention my username then a bot pings my phone, which I will see.
kintel has joined #openscad
<kintel>
joseph_ Hi, I hadn't paid attention to last year's gsoc, but I'll have a look at your draft and see how that fits my current work
<kintel>
It might be a bit hard to map out an independent project framed around "helping with refactoring" : /
<kintel>
..but the goal of my refactoring is to declutter things and make it easier to build new things on top of it
<kintel>
My initial goal is to refactor all of the OpenGL context handling to allow us to ask for OpenGL 3 or GLES2 contexts, and use that as a starting point for removing all legacy (immediate mode) OpenGL usage.
<kintel>
One task of unknown size would be to refactor OpenCSG to use only modern OpenGL/GLES2, and remove its GLEW dependency and perhaps kill the qmake build system. That may or may not equate to adopting the project though : /
<kintel>
..and if you follow that trajectory: Preview rendering as part of the wasm build
<gbruno>
[github] kintel closed pull request #4575 (Green refactoring: Move duplicated FBO handling out of platform-specific context code) https://github.com/openscad/openscad/pull/4575
<joseph_>
kintel: Thank you for the helpful information. I would be open to consider working on a different GSoC idea, in the event that the reasons you mentioned make it infeasible to choose an OpenGL improvement project. That said, if there is a way to sufficiently spec it out beforehand then I think there could be benefit to focusing on the area I've already gotten experience with.
fedorafan has quit [Ping timeout: 248 seconds]
fedorafan has joined #openscad
<joseph_>
One thing that you might notice when looking at last year's PR is that I implemented structures allowing information about cut faces to be sent to the shader. Depending on your changes since then, that approach might be either helpful towards the goal of removing legacy OpenGL, or no longer necessary. Whether or not it happens during the next GSoC, before 4330 is to be merged I'd likely need to bring in the new changes from
<joseph_>
master.
<kintel>
joseph_ I haven't touched any actual rendering code yet; so far I'm only messing with context creation, FBO and related cleanup
<kintel>
Btw., another topic which crossed my mind: How do deal with GLSL versions when supporting different OpenGL/GLES versions
J23851 has joined #openscad
J2385 has quit [Ping timeout: 260 seconds]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
L29Ah has quit [Read error: Connection reset by peer]
Guest62 has joined #openscad
use-value has quit [Quit: use-value]
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
ur5us has quit [Ping timeout: 248 seconds]
<Guest62>
Hy! My name is Aqeel Ashraf. I am from pakistan. I applied in GSoc 2023. I am a C++ developer. I selected your organization because your organization works on c++ ,which maches my interest So I I want to contribute in your organization.I shall be very thankful to you if you make my chat with my mentor so it helped me in my project to make it
<Guest62>
effective so my chances of acceptance in GSoC 2023 becomes high. Again I shall be very thankful to you if you give me a chance to contribute.
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
Guest62 has quit [Quit: Client closed]
krab_mozga has joined #openscad
fedorafan has joined #openscad
krab_mozga has quit [Ping timeout: 260 seconds]
ur5us has joined #openscad
ur5us has quit [Ping timeout: 248 seconds]
KimK has quit [Ping timeout: 250 seconds]
KimK has joined #openscad
Alexer- has quit [Ping timeout: 240 seconds]
TheAssassin has quit [Ping timeout: 255 seconds]
TheAssassin has joined #openscad
dmitry_ has joined #openscad
dmitry_ has quit [Client Quit]
Alexer has joined #openscad
dmitry_ has joined #openscad
dmitry_ has quit [Client Quit]
Guest27 has joined #openscad
use-value has joined #openscad
<buZz>
i wonder why 'you use c++' would be highest motivation for someone joining the gsoc :P
<Scopeuk>
buZz I guess cv building "C++ code as part of Gsoc" with the hope that counts in your favor
<teepee>
ouch, but good action and expanation of what happened
J23851 has quit [Quit: Client closed]
J23851 has joined #openscad
pah is now known as pa
johnstein has joined #openscad
guso78 has quit [Quit: Client closed]
Guest11 has joined #openscad
Guest11 has left #openscad [#openscad]
J23851 has quit [Quit: Client closed]
J23851 has joined #openscad
SamantazFox has quit [Ping timeout: 276 seconds]
use-value has quit [Remote host closed the connection]
use-value has joined #openscad
teepee_ has joined #openscad
teepee has quit [Ping timeout: 255 seconds]
teepee_ is now known as teepee
pfla has joined #openscad
pfla has quit [Client Quit]
fedorafan has quit [Ping timeout: 246 seconds]
fedorafan has joined #openscad
J23851 has quit [Quit: Client closed]
J23851 has joined #openscad
J23851 has quit [Quit: Client closed]
J23851 has joined #openscad
muesli has quit [Quit: NO CARRIER]
muesli has joined #openscad
N4buc0 has joined #openscad
SamantazFox has joined #openscad
milza has joined #openscad
kintel has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
guso78 has joined #openscad
milza has quit [Quit: milza]
kintel has joined #openscad
Av8r has joined #openscad
fedorafan has quit [Ping timeout: 240 seconds]
fedorafan has joined #openscad
guso78 has quit [Quit: Client closed]
<guso78[m]>
When openscad.exe Crashes, closes and does Not leave any Message, IS there a was to get a reason, or do i really have to deaktivate Code until IT works again?
<teepee>
message where? on console is impossible as it's a GUI app, an installed debugger should be able to catch it, otherwise it should end up in the event log
<kintel>
I seem to remember openscad.com being able to output to a console. But I've never really understood Windows :/
<teepee>
yes, it's a console app so it's able to catch stdout/err, but I'm not sure it can correctly forward crashes
<teepee>
also I would not claim to understand Windows either :)
<peeps[work]>
guso78[m]: if you have code which reproduces a crash on the latest build then please open a new issue
<peeps[work]>
but yes generally you would run a build with debug symbols and a debugger such as gdb or lldb
guso78 has joined #openscad
<guso78>
peeps[work], thank you for the suggestion.
<guso78>
Unfortunately i built openscad myself from my own code. the question is rather: whats the best debugging technique to debug "Remote" errors which only happen in windows worls
<guso78>
world
<teepee>
remote meaning in a VM?
<teepee>
regardless, the best option is probably the combination of what was just said: 1) make sure to have a debug build 2) have a debugger that can read that info
<guso78>
teepee, my flow right now is: build with MXE, then copy installer to windows machine, install it, test openscad
<teepee>
which can be a bit tricky with those cross build stuff, but in general the mingw builds are compatible with native windows debug I think, e.g. WinDbg (if that still exists)
<kintel>
guso78: Try msys2, that's a huge step forward from MXE since you're on Windows
<teepee>
yeah that ^
<teepee>
cutting out the remote part might help quite a bit
<kintel>
Difference is really if your main machine is Linux or Windows
<teepee>
and msys2 ships qtcreator for example
<guso78>
if there happens a "segfault" e.g. in an exe file. normal behaviour is the window closes without message, right ?
<kintel>
If you're _on_ Linux and want to test on a remote Windows box, I've managed to set up VS Code to remote into the Windows machine and build using the VS Code terminal
<kintel>
^ Windows 11, I have no idea how to do it for other variants ;)
<kintel>
related note: VS Code is actually quite good! The editor isn't great coming from Emacs, but the rest really works. Never thought I'd praise Microsoft for anything; the world is changing :)
<kintel>
guso78 In terms of segfault handling: I believe the default behavior on both Windows and Linux is to kill the process, and let the system display an appropriate message about what signal was sent.
<guso78>
kintel. thanks for the info. i did not notice any info while the window was closed.
<kintel>
It is, however, possible to manually catch the segfault to provide some message to users, but it's probably very limited what you can safely do in a segfault handler. I don't think we do any of that in Openscad
<kintel>
As mentioned above, getting a debugger so you can inspect the stack trace is a valuable investment in your own development environment :)
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]