LineRender9000 [Commercial]

djigneodjigneo Posts: 283

I've developed a product that generates line art based on 3d scenes in DAZ Studio.  I developed it originally to assist in creating graphic novel-style artwork for my own projects. I tried a lot of different approaches, and I ended up with a fairly flexible toolset that produces constant-width lines. When viewing these promo images, keep in mind that this tool does the line work (only). In all cases these are simple composites of DAZ Studio renders with no post work other than compositing multiple renders together (and adding text on the comic pages).

Author: KA1

Author: KA1

Author: djigneoAuthor: KA1

Author: djigneo

Author: DaremoK3Author: djigneo

Author: KA1

Credit to @KA1 @DaremoK3 and @djigneo for the promo images.

For achieving a cartoon style, I suggest using an ambient shader or use of the available toon-style shaders. The images by me are using a shader I'm currently developing and testing. I'm certainly happy to share the techniques I used in the art I've generated.

This product is a combination of several things that work together to provide a convenient workflow for generating line art and images.

  • Scripted 3Delight render script that generates line art.
  • Automation script to render out multiple images
  • Custom cameras to portray the scene in different ways

Even though beta testing is over, the beta thread has additional product info and images.

LineRender9000 is scheduled for release early October 2016.

Edit: LineRender9000 is now available on the Daz store.

Post edited by djigneo on
«13456710

Comments

  • firewardenfirewarden Posts: 1,456

    Awesome! It's on my must-buy list! :)

  • CybersoxCybersox Posts: 8,762

    I've been following the beta thread and can't wait to get my hands on this! 

  • XenomorphineXenomorphine Posts: 2,421

    I've largely shifted over from 3Delight to renders in Iray. Would it work for both?

  • mjc1016mjc1016 Posts: 15,001

    I've largely shifted over from 3Delight to renders in Iray. Would it work for both?

    It's a scripted 3DL render...

  • FirePro9FirePro9 Posts: 455

    I've largely shifted over from 3Delight to renders in Iray. Would it work for both?

    I think and hope you will be able to generate the black line art/inking via LR9K then composite with what ever rendering style you want.

    Looking forward to the release of this!

  • KA1KA1 Posts: 1,012

    I've largely shifted over from 3Delight to renders in Iray. Would it work for both?

    You can have a standard camera run an iRay render then one (or more) of the 3Delight scripted cams render the line art outputs for compositing - compositing can be done in an external program OR the LR9k composite cam if you didn't want to leave Daz Studio.
  • djigneodjigneo Posts: 283
    edited October 2016
    FirePro9 said:

    I've largely shifted over from 3Delight to renders in Iray. Would it work for both?

    I think and hope you will be able to generate the black line art/inking via LR9K then composite with what ever rendering style you want.

    Looking forward to the release of this!

    Yes, it works that way exactly. The lines have to be the 3delight script, but the automation and compositing support any of the native render options, including iray. So for the portrait above, the following picture is just the LineRender9000 output without the "main color" render composited in. This is 2 line output passes and the main output of the shadow cam.

    One of the nice things that came out of beta testing is the shadow cam, which was a development that added a great deal of flexible control over the shadows in the final composition.

    I should also mention that the output line & shadow color is user-defined in case you want blue or pink instead of black. I've been using black for the more stereotypical cartoon look.

    The images above use 3Delight as the color for the image, using ambient surfaces and solid colors (no textures). But you could certainly just use LineRender9000 for lines and shadows only and add your own color in Photoshop or a program of choice. LR9k can also generate layer masks for that.

    lien portrait bw.png
    2000 x 2400 - 1M
    lien portrait_02_Main camera (2).png
    2000 x 2400 - 869K
    Post edited by Chohole on
  • XenomorphineXenomorphine Posts: 2,421

    See, there are certain Iray-specific shaders I have a great deal of use for, but if I understand this corectly, this renders in a 3Delight form, the user can make the end result save the lines as a PNG transparency, then we could lay that over a separate Iray render with something like Photoshop?

  • KA1KA1 Posts: 1,012

    See, there are certain Iray-specific shaders I have a great deal of use for, but if I understand this corectly, this renders in a 3Delight form, the user can make the end result save the lines as a PNG transparency, then we could lay that over a separate Iray render with something like Photoshop?

    Essentially yes - the LR9k autorender script would also allows you to select the render engine you want to use for a pass - so you could set up the first camera with an iRay render, then the 2nd 3rd and forth renders using Linerender 9000's scripted 3delight render  (i.e. 2nd render outline, 3rd render Fresnel outline, 4th render shadow cam) in addition to this you could also set up the Composite Cam and have the Autorender script then composite those four outputs for you or composite them in your software of choice (PS, Gimp, PhotoPlus etc)

  • djigneodjigneo Posts: 283

    See, there are certain Iray-specific shaders I have a great deal of use for, but if I understand this corectly, this renders in a 3Delight form, the user can make the end result save the lines as a PNG transparency, then we could lay that over a separate Iray render with something like Photoshop?

    Yes, and linerender largely doesn't care about surface settings for the line work, so you could leave the scene set up for iray if that's your preference.
  • Oso3DOso3D Posts: 14,894

    Does linerender have the same Normals issue where flat surfaces almost perpendicular to the camera end up solid black?

    That's my one big struggle with PWToon

  • djigneodjigneo Posts: 283

    Does linerender have the same Normals issue where flat surfaces almost perpendicular to the camera end up solid black?

    That's my one big struggle with PWToon

    No, it does not, although I'm not familiar with pwToon, so I can't comment further on the "why". I do recall having similar issues with trying to control outlining on surface shaders (such as Visual Style Shaders and DAZ Toon surface) where sometimes the outline would be much too large in certain areas, which is part of the reason I pursued getting outlines out as separate, more controllable passes.

    Knowing you tinker a bit with shaders, I can tell you that the variety of line output you can get from LineRender9000 is largely dependent one one's creativity with shader cameras. 

  • Oso3DOso3D Posts: 14,894

    I look forward to playing with it!

    The Normals thing is that one outlining method is simply to use a Normal to draw a line where a surface is perpendicular to the camera. For most stuff, this is great, that surface is basically the 'outer edges' of the figure/object in question.

    But if the entire object is close to edge on to the camera, then lots of the surface, possibly all of it, 'counts' as outline. And you get a big black blob.

    There's a Geoshells outliner shader thingie that has that problem, PWToon, and one of the outlining modes of ToonyCam (which supports outlining by Normals or Material ID)

     

  • djigneodjigneo Posts: 283
    Yeah. This is most similar to Toonycam in principle, but LineRender actually honors transparency. I ended up using fresnel instead of normals for the algorithm because I think it looks better.
  • I do a lot of iray animation but this looks like an excellent tool for fast movement tests in 3dl.  Love to give it a try :)

     

  • xyer0xyer0 Posts: 5,721
    edited October 2016

    I was going to buy Poser Pro 11 for this function alone. Have you used PP11? How does your product compare? I'm not sure if by "constant-width lines" you mean that line width is not user-$3-definable. I hope this works because I'm sure it will be less than the $300-500 I would have to spend on Poser.

    Post edited by xyer0 on
  • 3dLux3dLux Posts: 1,225
    edited October 2016

    'm almost afraid to ask... frown

    Will this work in D|S 4.8?

    WooHoo!  Checked the beta thread and it does! laughyes

    Post edited by 3dLux on
  • djigneodjigneo Posts: 283
    edited October 2016
    xyer0 said:

    I was going to buy Poser Pro 11 for this function alone. Have you used PP11? How does your product compare? I'm not sure if by "constant-width lines" you mean that line width is not user-$3-definable. I hope this works because I'm sure it will be less than the $300-500 I would have to spend on Poser.

    First, let me attempt to clarify what I mean by constant-width lines. Line thickness is a parameter on the Render settings pane, so it is user adjustable. What I meant to say with that phrase is that the lines do not get thicker because the area is in shadow. That is, I mean to draw a distinction between a style of outlining where all the lines are the same thickness and a style of outlining where certain parts of the lines are significantly thicker for emphasis or to represent shadows. I have come to prefer constant-width lines. I've noticed (particularly with surface-shader-based outlining solutions) that some outlining styles in 3d are awkward to control because the line width varies quite a bit -- even on the same object -- and it increases the complexity because one would have to (try to) specify how thin and thick it can go, and even then there's the "normals" issue that @timmins.william brought up earlier in this thread that adds to the trickiness. So, to be clear, this product mostly generates line work that is always e.g. 1 pixel wide throughout a single render pass. 

    I haven't used Poser Pro 11, but I did experiment with Poser 10 a little while ago. Enough to convince me that I like DAZ Studio way better, even based on performance alone. I watched a video on the Poser cartoon and outlining features and will try to talk a little bit to comparing the two. It seems pretty similar to several "cartoon render" options I've experimented with, both in Poser and in Daz Studio (3Delight).

    The TL;DR here is: Poser would theoretically provide a faster workflow because the previewer and the renderer are the same, but you'll largely get what the toon renderer gives you. LineRender9000 is more complex, but seemingly way more flexible.

    • Poser's outliner uses OpenGL whereas LineRender9000 uses 3Delight. This means that in Poser to a degree what you see is what you get, because OpenGL is used for the previews in the viewport so the full render will largely come out the same. This could imply a faster workflow (assuming the tools do what you need) than LineRender9000 because LineRender9000 has to complete several render passes before the user can see what things look like.
    • A big difference seems to be that the OpenGL renders (Poser) seem to do everything in one go, which I've come to believe is less ideal. One of the big things I like about LineRender9000 for my own art now is how much control I have over the individual elements. Shadows are a single render pass, and when compositing manually there's no need to re-render unless the shadows should be different in shape, because the strength can be controlled in the composition. It's the same story with outlines and color. More pieces mean more granular control.
    • Somewhat along the same lines, another consideration of OpenGL vs 3Delight is the support given to those engines within the Studio of choice. 3Delight is a "production" renderer inside of Daz Studio, whereas OpenGL is a "preview" renderer inside of Poser. At face value, what's the big deal about that? Well part of the flexibility of LineRender9000 is the fact that it uses custom (advanced) shaders in form of cameras and surfaces to provide a pretty wide variety of ways to generate the different parts of the scene. This affects so much more than I can really list here but let's take the "cartoon color" effect for example. The "Comic Panel" Poser video seems to suggest that the amount of control you have over cartoon color in Poser is a slider bar that affects the strength of whatever algorithm the designers of Poser decided on, taking into consideration the colors from the material settings, but not the actual shader (since it's not going to eg. FireFly, it's going to OpenGL). In contrast, the cartoon color for LineRender9000 / Daz Studio is whatever surface, light, or camera shader combination you concoct in any renderer supported by Daz Studio. So, LineRender9000's "easy button" for cartoon color is to use the "Toon camera" in 3Delight, which blurs and clamps colors much in the same way, but you're not locked in to that decision: you can switch to anything you want, which in the case of Daz Studio means you could use any of the available "toon shaders" (or pester me to release mine).  Another example is how where lines get drawn is determined. In Poser, it's pretty static and seemingly affected by 2-ish parameters. In LineRender9000 it's based on the camera shader, which has the rather large utility of being able to ignore surface color. That's one of the main goals I was trying to achieve with LineRender9000 in the first place. An object having dark areas due to surface texture shouldn't dictate lines should be there based on a technological limitation. I like the control over that decision. Once again, LineRender9000 has some recommended ways of getting lines, but the artist ultimately decides on the look on a piece-by-piece, case-by-case basis.

    Oh, and as you mentioned, LineRender will be a fraction of the price of Poser 11, but we're not really comparing apples to apples since Poser 11 is a whole studio.

    Post edited by djigneo on
  • Oso3DOso3D Posts: 14,894

    I love PWToon but one problem I ran into is that while having seperate settings for line width per surface can be useful, it's frustrating when, say, you are changing render scale (because the line widths are absolute).

    Like, I have a scene where most of the outlines are 96, but certain things are 32. If I want to double the render scale, I can't simply double outline size... I have to go through and distinguish the 96 from 32 surfaces and so on. ugh

    For a while I was using ToonyCam because it's better about that, but it's also a little unstable in 4.9 and it seems to not capture the fine details PWToon does.

     

  • djigneodjigneo Posts: 283

    I love PWToon but one problem I ran into is that while having seperate settings for line width per surface can be useful, it's frustrating when, say, you are changing render scale (because the line widths are absolute).

    Like, I have a scene where most of the outlines are 96, but certain things are 32. If I want to double the render scale, I can't simply double outline size... I have to go through and distinguish the 96 from 32 surfaces and so on. ugh

    For a while I was using ToonyCam because it's better about that, but it's also a little unstable in 4.9 and it seems to not capture the fine details PWToon does.

    Yes, I recently ran into a similar issue with absolute line thickness, though it's much less pronounced in LineRender9000. In this case, you'd have to update all of the render pass settings, which amounts to changing 3 or so values. The issue for me is that I'd rather just specify the relative line thickness based on a set image size so that way small renders will look the same as large ones. 

    The way LineRender9000 attempts to handle the "fine details" issue is that you could get the "ColorId" and "Normal" lines a la ToonyCam Pro, but then add one or more additional passes that draw the details you want, or just use a surface shader that portrays them the way you want on the "main" image. ToonyCam Pro has a Toon shader baked in, so I could see how details could get lost in the final image, since the colors get blurred and clamped.

  • firewardenfirewarden Posts: 1,456
    djigneo said:
     available "toon shaders" (or pester me to release mine). 

    Yes, please!!!! :)

  • Oso3DOso3D Posts: 14,894

    djigneo: At the very very worst, I could do a PWToon and LineRender9000 pass. I'm hopeful. ;)

     

  • djigneodjigneo Posts: 283
    edited October 2016

    djigneo: At the very very worst, I could do a PWToon and LineRender9000 pass. I'm hopeful. ;)

    I'm hopeful too. I'm certainly happy to talk shop and advise techniques based on what I know. The advantage of LR9k's structure is that it divides the problem of "cartoon style" down into smaller and more solvable problems. If LineRender9000 out-of-the-box generates acceptable line work for your process, then you just need to dial in something else that gives the detail effect you're after. The distinct advantage is that you don't have to worry about lines at the same time since they're separate, so the effect is way simpler (and easier) to achieve. 

     

    djigneo said:
     available "toon shaders" (or pester me to release mine). 

    Yes, please!!!! :)

    My shader is fairly simple overall.  Since it's meant to compliment LineRender, it doesn't try to provide outlines at all. It has the "standard" Diffuse and Specular colors, but portrays them in an ambient way. There's a way to control Specular strength, and it supports tiling. I mainly wanted lights to matter, but to give a more ambient color look (without shadows). The work at this point is updating the supporting scripts (getting them to be product-ready). In my workflow, I have a "Convert to toon" script that I use all the time that applies my shader with some built-in conversions:

    And the "Set Toon Color" script sets the Diffuse and Specular colors based on an offset, since I typically set them a fixed "distance" apart from each other.

    Convert to toon.png
    430 x 659 - 44K
    Post edited by djigneo on
  • KA1KA1 Posts: 1,012
    djigneo said:
     available "toon shaders" (or pester me to release mine). 

    Yes, please!!!! :)

    I'm doing a fair amount of pestering myself, it's another very clever script and is great fun watching it do it's shading magik!! 

  • Oso3DOso3D Posts: 14,894
    djigneo said:

    I'm hopeful too. I'm certainly happy to talk shop and advise techniques based on what I know. The advantage of LR9k's structure is that it divides the problem of "cartoon style" down into smaller and more solvable problems. If LineRender9000 out-of-the-box generates acceptable line work for your process, then you just need to dial in something else that gives the detail effect you're after. The distinct advantage is that you don't have to worry about lines at the same time since they're separate, so the effect is way simpler (and easier) to achieve.

    'divides the problem ... into smaller and more solvable problems'

    That's a brilliant way to put it, and I think you've worked out the hazy problem I have with photo filtering techniques. Namely, they fail because trying to just look at an image and process it into lines just... is too big for anything that's not, like, human to do satisfactorily.

     

     

  • FirePro9FirePro9 Posts: 455
    djigneo said:
     available "toon shaders" (or pester me to release mine). 

    Yes, please!!!! :)

    A toon shader script thingy would be great to have, a useful compliment to LR9K.

  • I'm looking forward to getting this.  It looks very much like something I want to play with.  :)

  • This sounds too good to be true. I'd get this in a heartbeat.

    I'd like to +1 on those shaders and scripts as well, because I'd probably screw something up otherwise being the noob that I am.

  • ArtiniArtini Posts: 8,882
    edited October 2016

    This "Convert to toon" script looks very useful. Does it mean, that it can convert any materials and work well with LineRender9000?

    If so, it will be so much handy, to not to search for proper toon materials any longer. Count me in on that, please.

     

    Post edited by Artini on
  • xyer0xyer0 Posts: 5,721
    edited October 2016
    djigneo said:
    xyer0 said:

    I was going to buy Poser Pro 11 for this function alone. Have you used PP11? How does your product compare? I'm not sure if by "constant-width lines" you mean that line width is not user-$3-definable. I hope this works because I'm sure it will be less than the $300-500 I would have to spend on Poser.

    First, let me attempt to clarify what I mean by constant-width lines. Line thickness is a parameter on the Render settings pane, so it is user adjustable. What I meant to say with that phrase is that the lines do not get thicker because the area is in shadow. That is, I mean to draw a distinction between a style of outlining where all the lines are the same thickness and a style of outlining where certain parts of the lines are significantly thicker for emphasis or to represent shadows. I have come to prefer constant-width lines. I've noticed (particularly with surface-shader-based outlining solutions) that some outlining styles in 3d are awkward to control because the line width varies quite a bit -- even on the same object -- and it increases the complexity because one would have to (try to) specify how thin and thick it can go, and even then there's the "normals" issue that @timmins.william brought up earlier in this thread that adds to the trickiness. So, to be clear, this product mostly generates line work that is always e.g. 1 pixel wide throughout a single render pass. 

    I haven't used Poser Pro 11, but I did experiment with Poser 10 a little while ago. Enough to convince me that I like DAZ Studio way better, even based on performance alone. I watched a video on the Poser cartoon and outlining features and will try to talk a little bit to comparing the two. It seems pretty similar to several "cartoon render" options I've experimented with, both in Poser and in Daz Studio (3Delight).

    The TL;DR here is: Poser would theoretically provide a faster workflow because the previewer and the renderer are the same, but you'll largely get what the toon renderer gives you. LineRender9000 is more complex, but seemingly way more flexible.

    • Poser's outliner uses OpenGL whereas LineRender9000 uses 3Delight. This means that in Poser to a degree what you see is what you get, because OpenGL is used for the previews in the viewport so the full render will largely come out the same. This could imply a faster workflow (assuming the tools do what you need) than LineRender9000 because LineRender9000 has to complete several render passes before the user can see what things look like.
    • A big difference seems to be that the OpenGL renders (Poser) seem to do everything in one go, which I've come to believe is less ideal. One of the big things I like about LineRender9000 for my own art now is how much control I have over the individual elements. Shadows are a single render pass, and when compositing manually there's no need to re-render unless the shadows should be different in shape, because the strength can be controlled in the composition. It's the same story with outlines and color. More pieces mean more granular control.
    • Somewhat along the same lines, another consideration of OpenGL vs 3Delight is the support given to those engines within the Studio of choice. 3Delight is a "production" renderer inside of Daz Studio, whereas OpenGL is a "preview" renderer inside of Poser. At face value, what's the big deal about that? Well part of the flexibility of LineRender9000 is the fact that it uses custom (advanced) shaders in form of cameras and surfaces to provide a pretty wide variety of ways to generate the different parts of the scene. This affects so much more than I can really list here but let's take the "cartoon color" effect for example. The "Comic Panel" Poser video seems to suggest that the amount of control you have over cartoon color in Poser is a slider bar that affects the strength of whatever algorithm the designers of Poser decided on, taking into consideration the colors from the material settings, but not the actual shader (since it's not going to eg. FireFly, it's going to OpenGL). In contrast, the cartoon color for LineRender9000 / Daz Studio is whatever surface, light, or camera shader combination you concoct in any renderer supported by Daz Studio. So, LineRender9000's "easy button" for cartoon color is to use the "Toon camera" in 3Delight, which blurs and clamps colors much in the same way, but you're not locked in to that decision: you can switch to anything you want, which in the case of Daz Studio means you could use any of the available "toon shaders" (or pester me to release mine).  Another example is how where lines get drawn is determined. In Poser, it's pretty static and seemingly affected by 2-ish parameters. In LineRender9000 it's based on the camera shader, which has the rather large utility of being able to ignore surface color. That's one of the main goals I was trying to achieve with LineRender9000 in the first place. An object having dark areas due to surface texture shouldn't dictate lines should be there based on a technological limitation. I like the control over that decision. Once again, LineRender9000 has some recommended ways of getting lines, but the artist ultimately decides on the look on a piece-by-piece, case-by-case basis.

    Oh, and as you mentioned, LineRender will be a fraction of the price of Poser 11, but we're not really comparing apples to apples since Poser 11 is a whole studio.

    A man of detail. I love it! Thank you for your comprehensive response and in-depth analysis. I attended Poser's Digital Art Live webinar featuring Tony Puryear and others, and it seems that you have indeed solved my manga production issues. If I had any doubts about LR9K, you removed them, if only because I want to support your products so that you continue creating Daz utilities, since extremists make the best everythings. Thank you for making my life simpler (and less expensive).

    Post edited by xyer0 on
Sign In or Register to comment.