Home Technical Talk

Good offline renderer for visual novel?

grand marshal polycounter
Online / Send Message
Alex_J grand marshal polycounter
What's your guys opinions on offline renderers? In my case I want something that is as simple to use as possible but gives nicer results than toolbag or a game engine. Quick research points me towards Keyshot so I will try a free trial.

I don't need anything super in depth, in fact the closer I can stay to familiar realtime workflows the better. Purpose is for visual novel that is mostly still shots with some short animations. Mostly indoor scenes and characters.

I am in fact perfectly happy using Toolbag, but I figure since I don't actually have performance restrictions I might as well check out some offline renderers.

Replies

  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Are you sure you want to wait hours for single image renders? I don't think you will like it if you are used to realtime. 

    Are you looking for a specific feature? Or overall better quality? The main difference between real time and offline renderers is usually how reflections and light is treated in general. There are gpu based offline renderers, which are much faster than cpu based ones, but they require a beefy graphics card. So if you have one, considering a gpu based one is a good idea.

    The main benefit of using an offline renderer (modern ones are path tracers) is that you get bounced light and bounced reflections. Consider if your project would really benefit from this. Because if its still images anyways, nothing prevents you from cranking up the setting in the real time renderer, using more polygons, higher res textures, more materials, and such thing which would already give you better results than what games has. Just like portfolio pieces on artstation these days. There are a bunch of them labeled as "real time" but when you see the wireframe, number of materials, and resolution of its textures, they are really far from the reality of realtime.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Some people will not like this but cpu based rendering is a dead end in my opinion.And not just in mine. If you are following what big renderers are doing, they are also slowly transitioning to hybrid or gpu based solutions. Because no matter how many cores or threads you throw at it, it will never reach even close to what gpu-s can do. This is simply because of how cpus and gpus work. Gpus can work and compute in a highly parallel way, so much more data gets processed at ones, than what a cpu can do. Gpus haven't managed to fully catch up with the quality of cpu renders, but its just a matter of time, its getting closer, and eventually it will reach the same level. 
  • Alex_J
    Options
    Online / Send Message
    Alex_J grand marshal polycounter
    thanks @Obscura , I played around with keyshot a bit and I think you are right that it won't be necessary for my project. The increased light fidelity actually just highlights the weaknesses in my textures/materials so my people look more like plastic dolls than they do in toolbag. Of course that can be fixed but then there is a big time investment in going to the next level or realism.

    Looks like keyshot does have an option to switch to GPU rendering though. I didn't read anything about it, just see that is has a button in the main toolbar for it.


  • Udjani
    Options
    Offline / Send Message
    Udjani interpolator
    Cycles in blender can render with gpu, cpu or both together, but gpu for stuff that doesn't have simulation is just so much faster. 

    Also have you considered eevee? Even if you wouldn't end up with real ime for your final shots you would have a bunch of control inside blender for quick adjustments compared to a game engine.

    In this video Ben Mauro talks a bit about the difference between the two and he made some tests with cpu vs gpu at the end. 

    https://www.youtube.com/watch?v=9q_YsxJpVIc&t=1s
  • Shrike
    Options
    Offline / Send Message
    Shrike interpolator
    I use offline rendering for our game and while I dont know CPU renderers of other 3D apps, I tried a bunch of GPU renderers and they usually have drastically less features and options but generally give better results in shorter time with less tweaking required.

    Reminds me of Forward vs Deferred rendering a bit, with CPU similar to forward having more passes and information to work with but really no expert on this

    If you render small things, id go for an offline renderer as image quality can be way superior, but if you do big fullscreen shots that dont rely too much of great lighting and shadowing - like solo characters in a non realistic style id go for realtime
  • oglu
    Options
    Offline / Send Message
    oglu polycount lvl 666
    If you gave the money go with CPUs. Threadrippers and any renderer is still the way to go feature wise. The new AMD CPUs changed a lot. 
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    I got a threadripper 16 cores. Its a beast no doubt. I also agree that feature wise, cpu renderers are still ahead. But think about how cpu renderers work. You got one core, you got one small bucket where pixels gets iterated one by one. Two cores, two small buckets. Then, gpus works like this. Give it an input image, add some math on top -  say advance a ray from position a to b and test for intersections. Or a simpler example, simply multiply 2 images...The math gets applied on all pixels simultanously. This is my problem with cpu based rendering. Saw Nuke doing basic math on images, and it taking multiple seconds. This is absolutely ridiculous. On the other hand, the problem with gpus is the tiny amount of memory even in very expensive cards. Yes, 11 gb in a 2080ti is a tiny amount. And this is where gpu rendering is bleeding currently. Its pretty much bottlenecked by memory limits. For certain applications, how things are computed needs to conteptually change in order to properly work on gpu. When the math can be done in a fully parallel way (that gpus prefer) is called SIMD. CPUs don't work like that. And existing cpu based algorithms either. This is why I say that no matter how many cores you thow at it, it will never be as efficient as a gpu. Because there is a huge difference between processing pixels one by one on a 4k image (8294400 pixels) or processing all of them at the same time. I agree that we are still in the dawn of transitioning to fully gpu based rendering, and I don't question that at this moment cpu based methods usually gives higher fidelity result, but for what cost. Its hard even to measure the difference, because its just enormous.
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    Generally I'd not want to render lots of scenes in some external app where every little change to meshes and textures requires a re-import. And having to export animation and/or skinning data - that can turn into a whole load of trouble all by itself. Realtime rendering is fast for sure but you might want to have access to render passes for post production and then these realtime renderers can be a little tricky (depth of field in Blender Eevee for example - brrrrr!).

    So I'd look into what's available for the software of choice in terms of renderers. GPU renderers preferred. :)

  • Alex_J
    Options
    Online / Send Message
    Alex_J grand marshal polycounter
    thomasp said:
    Generally I'd not want to render lots of scenes in some external app where every little change to meshes and textures requires a re-import.


    This is a really good point and got me thinking. How much time I spent already waiting on import and export animations. A real time sink.

    So now I am looking into arnold as it's already included with maya anyway. Looks like the newest version does have GPU rendering, but even if I stuck with slower CPU rendering I still think the overall workflow benefit of 100% staying in maya may be worth the time trade off.
  • jStins
    Options
    Offline / Send Message
    jStins interpolator
    It's been awhile, but I remember being impressed working with Arnold. If I recall correctly, the PBR conventions from realtime had a lot of carryover. Definitely worth a look if you have Maya already. 
  • TeZzy
    Options
    Offline / Send Message
    TeZzy polycounter lvl 12
    Arnold is a nice renderer. And the GPU update is great. Just bear in mind that some of the stuff that works in CPU mode doesn't work in GPU. From memory (hope I got it right), currently it was stuff like matte shaders, hair/fur related settings and volumetrics. Also, it won't watermark when you do a 'Render Sequence' but if you want to batch render without watermark you will need to get a license for Arnold.

    Redshift is a GPU renderer. You can download the demo (renders are watermarked) from their site, it's worth checking out.
  • oglu
    Options
    Offline / Send Message
    oglu polycount lvl 666
    If you go the GPU route i would say there is only one alternative and thats Redshift.
    Here is a great inside from Blizzard about there Redshift pipeline.
    https://www.youtube.com/watch?v=24aqcFYX0LY
Sign In or Register to comment.