teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
califax has quit [Remote host closed the connection]
califax has joined #openscad
RichardPotthoff has quit [Ping timeout: 256 seconds]
muesli has quit [Quit: NO CARRIER]
muesli has joined #openscad
rogeliodh has quit [Quit: The Lounge - https://thelounge.chat]
rogeliodh has joined #openscad
<dTal> and of course eventually OpenSCAD can use that shader architecture to support full color management with ICC profiles
<dTal> (don't worry, I'm kidding - color management on Linux is a wild goose chase)
LordOfBikes has quit [Ping timeout: 248 seconds]
LordOfBikes has joined #openscad
J2254 has joined #openscad
J22 has quit [Ping timeout: 250 seconds]
arebil has joined #openscad
myosotis has joined #openscad
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
myosotis has quit [Remote host closed the connection]
ViktorasCNC has joined #openscad
arebil has joined #openscad
ur5us has quit [Ping timeout: 240 seconds]
StudentWeis has joined #openscad
StudentWeis has quit [Client Quit]
StudentWeis has joined #openscad
StudentWeis has quit [Client Quit]
osfesa has joined #openscad
KimK has joined #openscad
osfesa has quit [Ping timeout: 250 seconds]
lastrodamo has joined #openscad
ur5us has joined #openscad
osfesa has joined #openscad
Guest882 has joined #openscad
mdjska has joined #openscad
mdjska59 has joined #openscad
trashbird has quit [Ping timeout: 248 seconds]
mdjska has quit [Quit: Client closed]
osfesa has quit [Quit: Client closed]
Guest882 has quit [Quit: Client closed]
ur5us has quit [Ping timeout: 260 seconds]
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
J2254 has quit [Quit: Client closed]
J2254 has joined #openscad
mdjska59 has quit [Quit: Client closed]
af has quit [Ping timeout: 272 seconds]
arebil has joined #openscad
J2254 has quit [Quit: Client closed]
J2254 has joined #openscad
trashbird has joined #openscad
lastrodamo has quit [Quit: Leaving]
<AndrewStone[m]> Is "render()" kind of like "independent"? That is, nothing below this will interact with any siblings so the code can go ahead and evaluate these objects independently of anything else in the scad file?
<teepee> render() means: force mesh calculation at this point in the geometry tree
af has joined #openscad
myosotis has joined #openscad
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
<InPhase> AndrewStone[m]: Everything is able to be independently evaluated like that, regardless of render.
<InPhase> AndrewStone[m]: But everything, render or not, can then undergo computational geometry combinations farther up the tree.
<AndrewStone[m]> When would you want to use render and when would you definitely NOT use it?
<AndrewStone[m]> I'm trying to understand the ramifications of "forcing mesh calculation"...
<InPhase> AndrewStone[m]: Most of the cases where I've used it have been to speed up display navigation. Some designs are really laggy when you're spinning around the view and looking at things, but doing a render puts that delay into the preview calculation, which can then cache the render result, meaning after paying that price once you can get fast previews and fast navigation.
<InPhase> There are a few cases also where it can clear up preview artifact issues.
<InPhase> As render always happens when you are rendering, adding a render does not impact the rendering of objects and thus does not impact output. So it is only to impact what happens with a preview.
<InPhase> This may be altered in the future with the data = render() PR, which is designed to give variable access to the render results.
arebil has joined #openscad
ViktorasCNC has quit [Read error: Connection reset by peer]
<J2254> showing transparent objects also look different with render as their geometry is not grouped but unioned
ToAruShiroiNeko has quit []
<J2254> iirc it also can help when running into tree limitations when having too many objects
ToAruShiroiNeko has joined #openscad
myosotiss has joined #openscad
myosotis has quit [Ping timeout: 256 seconds]
<InPhase> J2254: Interesting difference. Hadn't thought of that one.
myosotiss is now known as myosotis
<J2254> inPhase also useful in intersections as you have no internal edges when translucent
<AndrewStone[m]> J2254: so the left one is made calling render()?
<J2254> yes
J2254 has quit [Quit: Client closed]
J2254 has joined #openscad
<J2254> AndrewStone[m] also you may have seen the z-fighting if two faces are at the same place - this is cleared with render() too
<J2254> it also can speed up animations
<J2254> if the part behind render() doesn't change else it will take longer till all frames are chached
<AndrewStone[m]> I can see what you all are saying about speeding up the viewport's frame rate. I made a nasty fractal scad to torture the system and was getting maybe 2 FPS panning things around. After adding render() (which took 5GB and all the time since my last post to complete) the viewport is now panning at a good FPS.
<J2254> just don't change anything behind the render()  Ü
<J2254> same effect is to export a geometry and import it  ( as this is then rendered too )
<AndrewStone[m]> and in theory, we could speed things up by launching everything below render() as its own thread when doing the initial volume->mesh conversion, right? That is, an object outside of the scope doesn't effect the execution of render() (even if it overlaps it) because that union/difference/intersection is done later?
<AndrewStone[m]> * things up (assuming the model has more than 1 render() with changed children) by launching
<AndrewStone[m]> I just noticed I lost a color() inside a render() but could apply it outside? Is this a bug or expected behavior of the reduction to mesh?
<J2254> expected as geometry has no color
<J2254> (at least in SCAD)
<J2254> you could make a cube with different colors - but the mesh only store the points without vertex color
<J2254> still if one time this would allow to export colors into 3mf files  ( stl files can't store color either)
J2254 is now known as J22
<AndrewStone[m]> makes sense, thanks for your help!
<gbruno> [github] MichaelPFrey pushed 1 modifications (this is implemented) https://github.com/openscad/openscad/commit/31b29931690ead296b72e8ae0441d24b6d25c5e7
califax has quit [Remote host closed the connection]
califax has joined #openscad
arebil has quit [Quit: My keyboard has gone to sleep. ZZZzzz…]
retrosenator has joined #openscad
<retrosenator> can someone help me with subtractive minkowski?
<dTal> confucius say, subtracting the positive is the same as adding the negative
teepee has quit [Ping timeout: 240 seconds]
teepee has joined #openscad
arebil has joined #openscad
arebil has quit [Client Quit]
<retrosenator> how?!
<retrosenator> i want to use minkowski to cut away using a sphere
<retrosenator> instead of add
<retrosenator> can I use negative radius sphere?
retrosenator has quit [Read error: Connection reset by peer]
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
<gbruno> [github] t-paul pushed 2 modifications (Merge pull request #4208 from MichaelPFrey/mfr-2022-04-08-high Only show hyperlinkIndicator as active when a modifier key is pressed and add tooltip.) https://github.com/openscad/openscad/commit/e62afcf5d524638aaf5014fbd32ff8ddeac9e29d
ur5us has joined #openscad
<InPhase> dTal: Except that you can do one and not the other. :)
<InPhase> (For which I should clarify neither are supported, but only the one would be well defined for properly manifold geometries.)
<dTal> well you can invert a shape - that is, turn solid to empty and empty to solid - and minkwoski that
<dTal> it's not exactly clear what retrosenator was aiming to acheive
<InPhase> Probably the 3D equivalent of the 2D offset(-2)
<dTal> that makes sense
<InPhase> What we really need is a 3D offset. It would probably be much faster than the general minkowski.
<InPhase> The abstract sphere is a special case with useful optimization potential I think.
<Scopeuk> I suspect but can't prove that a large chunk of the use of minowski is to round or chamfer 90 deg edges a more limited function "perfect world" probably operating subtractivly i.e. knocking the corners off, if implementable to be light could eat up a lot of cases
<InPhase> Yep.
<InPhase> I'd say the vast majority of it is either rounding corners and edges, or chamfering.
<InPhase> I basically targetted smooth-prim at hacking away the easy cases of this usage. https://github.com/rcolyer/smooth-prim But there remain the non-easy cases.
<Scopeuk> Yeh I tend to approach that sort of task with hull these days, for some reason I tend to go for my own solution before thinking about libraries
lastrodamo has joined #openscad
myosotis has quit [Quit: myosotis]
J22 has quit [Quit: Client closed]
J22 has joined #openscad
lastrodamo has quit [Quit: Leaving]
J22 has quit [Quit: Client closed]
J22 has joined #openscad
<InPhase> Scopeuk: If smooth-prim were written by someone else, given my personal character traits I would probably simply use it as a reference guide. But that's mostly just in where my core interests rest. Given that I've written it, my usages of it are split somewhat evenly between use<>, copy/paste, and reference guide for a customization.
<InPhase> That sort of derives from the fact that I wrote it because I was interested in that problem. But now I'm not so interested in those problems because I experienced the solution to each one. :)
<joseph_> InPhase teepee: I cloned/built the repo and started investigating #3706. I added a comment on the GH issue, but I don't have a PR ready just yet. Also I'm an IRC noob, can you please explain how channel logging works? So far I've just been leaving my client open all the time
<teepee> joseph_: there's a link in the channel topic
<teepee> as the deadline for the proposal is not far way, it might be better to focus first on the proposal and use the review time period for the code investigation
<joseph_> teepee: Thank you. I will get started on the proposal tonight. Is there any template I should follow beyond what Google suggests? I can write it as a markdown file in a separate GitHub repository if that will be easy for you to review
<teepee> sounds ok to me, you can check the previous ones for general content like useful structure, but format is not so critical as long as it can be shared and discussed
<teepee> hmm, that said, I'm not sure the old ones are still public, I think google keeps only the abstract :(
<teepee> yeah, only abstract, but the main structure should be mentioned on our gsoc website
<teepee> when it says background info, that means technical/programming background, not personal identifying information
ccox_ has joined #openscad
ccox has quit [Ping timeout: 260 seconds]
<teepee> and I'm off to bed, don't worry too much about formatting, there's 3 important things: 1) outline and detail the work that will be done 2) lets keep the discussion going 3) don't miss the deadline, you can upload updates, don't wait till last moment
<teepee> pretty much every year there's people who failed to join due to some technical problem in the last hour, and those deadlines are handled by the google dashboard, so there's nothing on our side that can be done
ur5us has quit [Ping timeout: 248 seconds]
ccox has joined #openscad
<InPhase> joseph_: There are advantages to leaving your client open in that all the decent ones will highlight lines that have your name on them, and you can also potentially receive private messages. (Although most of the GSoC work discussion ends up in-channel most years so that there is opportunity for broad feedback and input.) So you can certainly use the posted logs just fine, especially if staying
<InPhase> connected ever becomes an inconvenience. But I find it pretty convenient to be connected all the time. I've probably been connected to some sort of IRC networkfor the majority of the last 28 years.
ccox_ has quit [Ping timeout: 248 seconds]