Visual Discussions - Techniques & Strategies
Now that Drambo Visual has been officially released into the wild, I figure we should bring our discussions out into the main/public areas of the forums as well.
While I do admit after being under the veil of secrecy during the three year long beta testing phase, it is somewhat of a habit to continue posting under the hidden beta section of the forum.
And of course, while @giku will surely add new features eventually, that may require further testing in the beta version, Drambo Visual itself is now out in the open, and available for anyone and everyone to purchase, and begin their modular, visual journey.
I think we should try to start discussing our ideas, tips, and tricks here (or start another new thread in the public Drambo Visual Expansion category if you have something specific)
This way, new DV users can follow along, and maybe pick up a hint or two along the way. In fact, the main DV beta threads contain such a goldmine of information, maybe we can talk @giku into moving that into the public area as well.

Comments
Discussing visual techinques is one thing, giving away all of the research is another.
Of course! I'm not saying share development research. Only one person really knows what's really going on behind the curtain. This definitely isn't an open source application.
I mean the front end; what's exposed to the users, and what we do, and what is possible with the visual tools and modules.
@Intrepolicious I think that the three year old Visual beta thread should remain where it is especially
as the Visual side of things will continue to grow and will require further input from the Dev and the rest of the Beta team
however sharing techniques to encourage beginner and experienced users alike is the way forward.
The learning curve for the DSP side of things when dRambo first came out was steep,
the same can now be said for users for both the DSP and the VIsuals.
Moving forward I would suggest clear concise descriptions of how one has achieved a particular aural or visual look and as always
users of the forum know that if they are stuck or interested in a particular aspect of sound or visuals that all they have to do is ask.
Oh, yeah, the three year thread. You're right, I guess he should probably keep that where it is.
I guess that was my point of this thread start, just trying to stir up some visual conversation. Conversations where the public and new users are invited to share their ideas, ask questions, etc.
Agreed a focused thread for techniques etc is the way forward, this thread is a good concept.
I will say this however, our fellow dRambonauts are most probably busy right now scratching their heads,
making sure they remember to eat, drink and sleep and their most probably glued to their screens
unable to communicate with anyone except in grunts of acknowledgement whilst they figure out how to make images they like. ;)
Good idea 👍
I’ll try to add some content/tutorials from my own personal journey, as I have the chance
Haha *raises hand* the GF was just saying "are you ever going to get off of that damn iPad?"
I'm like "honey, you don't understand"
The crazy thing for me was that huge update for 2.54 which only came like only a month, or maybe two ago? Where he added the boat-load of new stuff and various changes here and there with the way somethings work. All of that came coincidentally at a time where I haven't had much free time because of work etc. And I've struggled to keep up.
I will say it's been fun though, going through all the new things, plenty to keep visual artists content without ever having to write any code, or even utilize LLMs for code. I'm only just now starting to think about LLM assistance with some things, but honestly, it's not a necessity, but it's nice that we have this ability.
I disappeared also when the huge update came through, I had just finished honing my DSP stuff, controlling all my hardware side of things
including latency adjusting for every sound, auv3's and hardware synths, drum machines etc and then the update rolled in.
Moving on.
I'm currently trying to create water, I just saw a Shadertoy example for water so I'm attempting to do that using Visual modules.
I've got something close but when it's done I'll share properly because I'm still learning how to control the colour for the image generated
and the colour and or image for the background from within the 3D Shader module.
Here's where I've reached so far.
@gravitas, cool!
Theres a "water" preset in the Scene module that I had GPT refine a while back when the Scene thing was first introduced. I asked it to "make it look more like an endless ocean"
I ended up having to combine a Scene with a Shader to create this simulated "Ocean Sunset".
I tried, but couldn't get much of a bright colorful sun with the scene module, so I resorted to the shaders for that.
Here's the project file:
How can we get the 3D mask images generated to reflect light or incoming texture?
Same here regarding LLMs. I only recently fed reference rules that somebody here shared to a model. It only took some trouble-shooting and got me the results I was after on the DSP side.
Regarding the visual side, I’ve been enjoying the process of simply exploring and playing.
Sooo.. what do i need to do to get on the beta around here? I been using Drambo a few years now and i never pester with feature requests. It’s my primary host and i have both a phone and an ipad to test with. Is there a placement test?
If I understand things correctly, it's basically the other way around; the 3D masks deflect (or block) light (or rays) coming from the Raymarcher module.
Now both the XYZ Transformer and 3D Mask modules have Texture driven capabilities, but the Textures used affect only the XYZ Transform or the 3d Mask respectively. Meaning they affect only the shapes of things blocking the light/rays.
To make it look like the light is reflecting off of the actual mask, I think we have to simulate it with color, color processor, or processor shader modules after the fact.
I think this is why @giku added that "Headlight" parameter to the Raymarcher.
I might be totally wrong. He'll be able to answer this better than I can.
I think it's just a matter of sending @giku a PM.
If you don't hear anything right away, it's probably because he's on a much deserved vacation (or "holiday", as they say across the pond) Dude worked his butt off getting this thing across the finish line, and did mention taking a break.
That said, he was looking for more testers not too long ago.
@gravitas you'll see what I mean in this patch. Turn the Headlight knob on/off in the Raymarcher Surface Material preset.
(Also @Intrepolicious)
I think this is where you have to change the 3D raymarcher’s code.
For reflection you need two rays. A first ray that checks the SDF to determine if hits the shape (pixel drawn) or not (background).
For reflection you have to cast a 2nd ray, from the hit point (if the ray hits the surface, that is), which is the reflected ray, cast in the direction of the light source. If it hits the light source then we have a reflection. If it doesn’t, meaning some part of the shape blocks the reflected ray, then there is no reflection.
I haven’t fallen into that rabbit hole yet, but I suspect it’s just a few extra lines of code, if I know what I’m doing (not quite there yet)
Here’s a Fractal 5-in-1 that adds 5 new fractals to the already very comprehensive list of stock presets.
Use the “Fractal” parameter to change fractal type. The knob is divided into 5 equal ranges:
Slice carves out a flat portion of the shape.
You have Rx/y/z to rotate the fractal, and parameters for the fractal size and appearance (Fold etc)
The whole thing was mostly vibe codedin gemini, over many iterations and several manual corrections when it struggled to comply with my requests
Hope you enjoy
Some quick examples
Thanks for the share @pedro these are awesome!
Also thank you for providing more information on the ray marching/light reflection thing.
No prob
I have mentioned previously this gallery of some fine examples of Processing graphics: http://www.complexification.net/gallery/
I wanted to recreate one of these in Drambo, with the help of LLM. Here is my attempt at Substrate:
The LLM experience was very good, actually; it got it more or less right in the first try (except for many errors that were just due to a wrong statement in the documentation scene-ai-contract, which I mentioned in the beta thread). It is also good at explaining the code and parameters, I put that into the text boxes.
There was one problem with the first version; the black ink lines starts disappearing at a certain point, until they are all gone. That’s why I introduced a pause button. Seems like this is happening because of Scene limits (mentioned in ai contract), where the watercolor paint and the ink lines have to fight for a limited draw budget. I wonder if the limits are there to ensure high fps, or is it due to low RAM? The Processing code is 20 years old, though.
Here is the project, if anyone wants to explore.
Woah @bleep I love it! 😍
which LLM and model?
Also thanks for sharing that site again. Very interesting
Thanks! I’m using the ChatGPT app. It is set to gpt-pro, I believe it is their latest “Sol” model? It comes across as pretty smart; we have agreed to aim for the aesthetics rather than faithfully converting line-by-line, and for my next attempt (in progress) it suggested that a better approach would be to use the Scene module in combination with a Drambo feedback rack. I’m curious how that pans out! It also suggested several other enhancements that make sense. This fits well with the quote from Tarbell that I saw @gravitas had found:
"I believe all code is dead unless executing within the computer. For this reason I distribute the source code of my programs in modifiable form. Modifications and extensions of these algorithms are encouraged."
Btw, I use a Project in ChatGpt where ai contracts and Drambo doc html files have been uploaded, that’s how it could suggest using the feedback rack now.
Nice. That quote is reassuring.
If you would, please remind us of what that wrong statement was within the Scene AIContract file?
Indeed, I always provide the either the Scene AIContract or the Shader contract, but good idea including the actual Drambo doc.
I have found, in the past, that it (the LLM) will pick up on how Drambo modules work at the core, by providing screenshots of various racks within the conversations, as I have run into very similar Feedback suggestions for other shader projects.
What I wrote on July 18th in the Visual 2 thread:
While my silicon overlord has been a good boy and declared a State struct with all globals in there, he has started the code with
[[render_mode(2d)]]on the first line. I see you have it later, right before draw(). I moved it there, and all my hundreds of errors were gone!In the current contract, it says that this line can be anywhere.
A texture mapping experiment inspired by a user over on the LoopyPro forum.
Ah yes! Thanks! Now that you mention it, I do recall running into that as well in my LLM conversations, also with [[render_mode (3d)]] where I'd have to remind it about that line's placement after I kept getting this error:
"This program uses 3d-only API. Add [[render_mode(3d)]] before your entry function, or switch to the 2d API for this sketch."
I just went and looked back, and it was in Gemini where "we" (the LLM and I) learned about the importance of that attribute's placement.
Apollonian alien forest
Mandelbox alien sea
Alien colonoscopy