Jump to content

Josh

Staff
  • Posts

    23,137
  • Joined

  • Last visited

Posts posted by Josh

  1. If you're doing this in BlitzMax, you can use reflection to view the entire structure of the classes.

    TQuadTree:

    Type TQuadTree
    
    Field layer:TVegetationLayer[MAXVEGETATIONLAYERS]
    Field root:TQuadTreeNode
    Field world:TWorld
    Field levels:Int
    Field terrain:TTerrain

     

    TVegetationLayer:

    Type TVegetationLayer
    
    Global shadowmode:Int
    
    Field body:TBody
    Field shape:TShape
    Field collisiontype:Int
    Field aabb:TAABB
    Field batch:TBatch[8]
    Field lodDistance:Float=50.0
    Field vegetationobject:TVegetationObject[]
    Field lodcount:Int
    Field radius:Float
    Field billboardtexture:TTexture[2]
    Field billboarddrawqueue:TSurface[]
    Field billboarddrawqueuecount:Int
    Field castshadows:Int=1
    Field density:Float=8
    Field viewrange:Float=100
    Field randomscale:Float=0
    Field randomtilt:Float=0
    Field aligntoterrain:Int=0
    Field index:Int
    Field randomrotation:Int=1
    Field minslope:Float=0.0
    Field maxslope:Float=90.0
    Field minheight:Float=0
    Field maxheight:Float=1000
    Field usebillboards:Int=0
    Field scene:TShape
    Field path:String
    

    • Upvote 1
  2. It's fairly easy to bring the Leadwerks 2 post-processing shaders forward in Leadwerks 3.1.

     

    We also have a normals-based ambient term built into the lighting that gives a soft enhancement to shaded surfaces based on their normal map.

  3. Leadwerks 2 uses FXAA...it's basically a post-processing effect that tries to detect edges and make them blurrier. Consequently, it's not good at rendering fine details, because it's always trying to make more information than what it really has.

     

    MSAA is a superior technique that performs random supersampling to render a higher quality image. Until recently, it wasn't possible to do this with a deferred renderer, and this was one of the main drawbacks to deferred rendering. OpenGL 4.0 now makes it possible to combine full hardware MSAA with deferred rendering.

     

    Leadwerks 3.1 supports up to 32x hardware MSAA.

    • Upvote 3
  4. The original 3D World Studio had this functionality, and this is a likely feature in the future, using LuaJIT. This has a lot of advantageous:

    • Plugins are easy to write and cross-platform compatible. (No compiling required.)
    • Plugins can be precompiled as LuaJIT machine code and distributed to protect the source code.
    • LuaJIT can compile C code into the Lua binary object! So it basically makes a cross-platform version of a DLL.

     

    I'm a big fan of 3ds max's MaxScript plugins system, and would model the design after that.

    • Upvote 4
×
×
  • Create New...