Correct shading through billboard alpha

Hello SketchUp team,

I really like the kind of visual output I can get with SketchUp, even without third party rendering tools. And I really like to use “billboard” objects (mainly trees and vegetation) to enhance the scene without bulk-loading a lot of geometry.
This is just perfect for a lot of uses.
But one of the biggest drawbacks of billboards is they don’t aptly react to light when there’s an alpha channel applied to the image (one would expect the light to go through the translucent pixels and thus project the cutout image shadow).
To get an acceptable shadow out of a billboard, you have to draw an outline around the picture which is very tedious, and asks for additional geometry (lines) to be created.

What I would find really amazing is a simple flaggable option in the “billboard” object, just like: “use alpha channel to draw shadows”. This would greatly simplify the task for users and be hopefully not so dramatically difficult to implement (?).

Billboards are a fantastic feature in SketchUp, deeply rooted in the DNA of the software and very widely appreciated. It’s too bad they are so cumbersome to fully use right now due to this annoying limitation.
Enabling this option would enhance the core product as it is, by improving one of its (many) distinctive feature, with simplicity and ease for the users.

Thanks a lot for your attention.

(I’m aware of extensions allowing to “cutout” the billboard basing on its alpha, but I’m asking for the chance to avoid this need to trace lines entirely. If on the other hand there’s already a quick and efficient way around this, I’m all ears!)

1 Like

You should be able to ‘use alpha as transparency’ for billboard images. What rendering software are you using?

Thank you for the quick feedback eric!
I’m not using rendering software but the builtin SketchUp rendering (the main view basically!) thus my request is for the shadows displayed in the main SketchUp window --> the “Sun” cast shadows.
This is basically what’s described here (and in another dozen videos and websites), at point 4:
https://sketchucation.com/resources/tutorials/beginner/320-face-me-billboard-component

I’d love a way to do that without having to manually cut out the image, and without rendering engines.
I think many basic users use SketchUp as-it-is and would love to see that as well (I’ve searched through the internet for possible solutions to that and the fact there’s a lot of articles suggesting the “trace-image” solution might indicate this feature would be appreciated by many others).
I have the pro-version and don’t generally use render engines for my purposes, thanks to “styles” I can tweak the view to my perfect needs and love the output - but for billboards! :slight_smile:

Ah got it. Try Tigs image trimmer extension then - https://sketchucation.com/pluginstore?pln=SKMtools

Video explanation - https://www.youtube.com/watch?v=7qpR0CcOjMY

Thank you for the suggestion and for the quick feedback!
I’m aware of TIG’s extension, was hoping for a builtin solution avoiding the creation of additional geometry (lines) and not requiring some fine tuning to get the line tight enough, and easily capable of intercepting “holes” in the middle of the shape (say, light through foliage).
All of that would “naturally” happen by tracing sunlight through the image and ignoring alpha-pixels.
I’m also thinking at “bulk” usage of the billboard (say, with scattering extensions) where getting rid of hundreds of lines per component would make a noticeable difference (assuming light tracing that way through the alpha channel would be more efficient of course!)

Also thinking a flag for this very basic need would fit the easy-peasy SketchUp way of being more than a (very appreciated and solid!) extension :slight_smile:
plus it would be much faster and handy for the user of course

1 Like

Just to add another line,
a large part of this recent (and very well done) official tutorial part deals exactly with the issue I’m talking about:

https://learn.sketchup.com/course/working-vegetation/vegetation-components-overview-part-2
(wrong shadows on 2D trees, on png foliage, etc.)

Having built-in shadows-through-alpha functionality would make “natively rendered” scenes look so much better without user effort (which could be very time consuming in case of foliage).

Thanks again for considering this suggestion.

Unfortunately it would require the realtime render engine in SketchUp to use raytracing which would make it unbearably slow.

Thanks for the insight!
I understand, that’s indeed something I can’t evaluate with precision, if there’s no suitable (time-wise) rendering strategy to perform the task, that’s of course something much more unlikely to happen.

In that scenario, the only solutions could probably be:

  1. a “coarseness” switch to tweak performance, i.e. cast rays every 5/10 px, seeking the right balance to make it bearable and having not dramatically jagged shadows
  2. a native “not-realtime” rendering option which is something that would make little sense in the SketchUp package, given the amount of available options already out there

However, given how high-poly models already slow down the system, perhaps that would be something to consider anyway (i.e. some graphic cards might not prefer using a high-poly tree VS. using a 2D tree with alpha).

I really like the kind of output you can get with native rendering (and also the fact you don’t have to put another handful of work to tweak materials etc. and get the “perfect” render) but I reckon the limited appeal of this request among pro-users likely using external rendering engines and thus circumventing this issue.

Guess as other feature requests, this will vanish into “shadows” :slight_smile:

I highly doubt that is what it would require. Shadows through alpha channel has been the norm in most realtime 3D-applications for 10+ years - and real time raytracing is barely a couple years old. What is needed is for sketchup to read the outlines of the alpha channel and treat the object as if it is only the solid part. This will in almost all programs mean that any alpha from 1-255 will be completely blocking of light (and completely visible) while only 0 alpha will be transparent and also non-blocking… Having the alpha channel gradient decide how opaque a pixel is will be a lot more demanding, but still possible without a too large impact when hardware rendered. Just look at Lumion for instance - it has no ray tracing capabileties, yet handles billboards imported from Sketchup with ease (still only on/off alpha-channel without gradient). - and you can have hundreds or thousands of them without any issue rendering it realtime with a decent graphics card.

You may doubt. That is what the developers have said.

It is a rendering application, not a modelling application.

Regardless of what the devs has said that would not be required… That might be the path they see forward to making it work, but that does not mean it is the only way forward, and it cetainly is not…

The rendering pipeline has nothing to do with wether or not the application is used for rendering or modelling… The realtime part of both programs is rendered realtime. and the technique could be similar for both programs. The moment you hit ‘render’ in Lumion it will certainly become a different thing.

Perhaps the issue is that the rendering pipeline in sketchup is alrady coded in such a way that adding the handeling og the alphachannel is difficult… but then the solution would be to change the code in the rendering pipeline, not to add a hefty ray tracing feature in order to do something that is much simpler than ray tracing.