Windows 11 (10.0.22621 SR0.0) or greater (Physical RAM: 64Gb)
.NET 7.0.11
Computer platform: LAPTOP - Plugged in [95% battery remaining]
Non-hybrid graphics configuration.
Primary display and OpenGL: NVIDIA RTX A3000 12GB Laptop GPU (NVidia) Memory: 11GB, Driver date: 10-4-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 537.58
> Integrated accelerated graphics device with 4 adapter port(s)
- Secondary monitor is laptop’s integrated screen or built-in port
- Windows Main Display attached to adapter port 1
Primary OpenGL: NVIDIA RTX A3000 12GB Laptop GPU (NVidia) Memory: 11GB, Driver date: 10-4-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 537.58
> Integrated accelerated graphics device with 4 adapter port(s)
- Secondary monitor is laptop’s integrated screen or built-in port
- Windows Main Display attached to adapter port 1
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)
Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 10-4-2023
Driver Version: 31.0.15.3758
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 11520 MB
Rhino plugins that do not ship with Rhino
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\Bella (813de3fb-18eb-405f-bfcd-b0b4d3da91fb)\23.3.0.0\bella_rhino.rhp “Bella” 23.3.0.0
C:\Users\Czaja\Desktop\Rhino_7_Win_2023.0417\HDRLightStudioTexture.rhp “HDRLightStudioTexture”
C:\Program Files\Common Files\McNeel\Rhinoceros\8.0\Plug-ins\Crayon (39629248-4fa6-47b8-83c7-745a7efea259)\1.2.0.0\Crayon\Crayon.rhp “Crayon” 1.0.0.0
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\SubstanceImporter\2.0.3\Substance.Win.rhp “SubstanceImporter” 2.0.3.0
C:\ProgramData\McNeel\Rhinoceros\7.0\Plug-ins\Datasmith Rhino Exporter (d1fdc795-b334-4933-b680-088119cdc6bb)\DatasmithRhino7.rhp “Datasmith Exporter” 5.3.2.0
@jdhill Should this material work with Bella? Solid procedural material + hyperrealistic Bella renderer could be an awesome combo.
This solid material is a cool concept however, in 2023 it looks a little dated / fake, still curious about the possible results.
it turns out the settings of the material have entered a case where there is a bug, which is causing the texture not to be generated – changing the material’s reflectivity to 0 should give you this, here in v7 and v8
There seems to be some sort of issue with the procedural in Cycles. It is also visible on a plane that simply uses the surface parameter mapping. RH-78705 Raytraced: procedural texture not quite right
in my current code I am using my own rendertime cubic/planar projections if RenderTexture.GetProjectionMode() returns Wcs or WcsBox, and otherwise using uvs; I am returning this from BakeFor()
I use RenderTexture.SimulatedTexture(Allow) along with repeat/offset/rotation from the RenderTexture or reading “rdk-texture-offset” and friends from the Fields if present, and these are the results I am getting in versions 6/7/8
Is this something you’re working on at the moment. I made some changes for Rhino 8.3 to use box and planar mappings instead of WcsWcs box when possible to reduce the need for texture baking. There are these cases where that is not possible:
Something else that requires baking
Texture UVW transform has rotation or non-uniform scaling
It is even better if your code works and Bella can do Wcs projections. Just leave the BakingFunctions.WcsBasedMappings flag out as you have done in the code snippet.
yes this is something I have been working on recently (i.e. it is not in the current bella release), exactly as you say, to do our own projections when possible and hopefully cut down on textures being baked
so the code I currently have is as I described, relying on GetProjectionMode() to decide what to do, so hypothetically it should just work with whatever changes you are making there internally
I’m seeing issues with my version of Bella in Rhino 8. Are you aware of these? If so have you already got help solving them?
Some error messages in the command history and missing objects in the render result.
I confirm that those issues do not happen with 8.1.23325.13001.
Filed a bug for our team to investigate: RH-78709 Bella outputs error messages and fails to render objects
Hi @jdhill
Those “Bellta [ERROR]…” messages were caused by code I added to Rhino in order to give users a chance to cancel rendering if texture baking was taking too long. That issue never got into a public service release. I need to figure out why it breaks Bella before enabling that feature again.
So I’ve been running Bella quite a bit lately to test stuff. One issue that I’ve noticed is that when Bella starts a final render it creates the ChangeQueue passing in bNotifyChanges = true. bNotifyChanges should be true only for real time display modes and other applications that need to keep up with changes to the document.
The reason why I noticed this is because the texture baking creates a very low resolution texture to start with and then continues running in the background to generate a higher quality one - this is how it works for real time renderers to make updates snappier.
I also filed a bug for this with steps to repeat: RH-79145 Bella Render: uses asynchronous texture baking for final renders
thanks Jussi, I can’t say offhand whether that is being done deliberately (i.e. to obtain/avoid some behavior), so I’ll check and see how things work if I change it
I confirm bNotifyChanges was set to true in the case of modal rendering, and that it appears working fine to pass false, so unless more testing finds some case where it doesn’t (seems unlikely, but then I support v6/7/8 from the same plugin), you can assume this will be changed
and on the topic of changes, I published a new build yesterday, so if you are testing things you may want to switch to that (available here as usual). This build includes changes mentioned above, e.g. it is now using bella projections to implement wcs
not sure if this all obviates the question of change queue “apply” override calls being made outside NotifyBegin/EndUpdates pairs, but at any rate it seems to me that needs to be a guarantee
in my case, my engine/scene api supports changes to individual attributes in the scene without any synchronization by the caller, but I use the begin/end updates to bracket bulk changes, and if I can’t trust them to be called in pairs, then the best I will be able to do is bracket changes for each call of each “apply” override, which I expect (long time since I have instrumented exactly what/when you guys call) should substantially degrade responsiveness
and I would have to wonder why the NotifyBegin/EndUpdates calls exist at all; so that’s just how it looks from here anyway
Thanks, this was actually very useful information to me. I understand now how I broke the change queue in the development branch and caused those error messages. You shouldn’t need to change anything in Bella. Let me check if your assumptions are correct.