Home Technical Talk

xNormal - MASTER THREAD

1232426282959

Replies

  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    im not using ngons, the quads triangulate differently to maya and the engine im using.
    Have you tried the "Invert diagonal" option in the Default Triangulator's options? xNormal -- Plugin Manager ( the yellow plug icon near the close button ) -- Default Triangulator -- Configure
  • Art1977
    I can´t find the setting which equals to zmapper "seam overpaint"- size in xnormal. Please can somebody tell me, where i can find it?
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Art1977: It should be called "Edge Padding", in the "Baking options" section.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    xnormal 3.16.2 beta 1 is available:

    - Improved memory management ( specially for the images ). You should be able to render bigger images now.

    - MatchUVs feature. This allows to skip the cage and ray distances setup... but the UVs must match as its name indicates... It's good in case your lowpoly mesh is a subdivision control mesh and your highres model is the lowpoly mesh subdivided and sculpted. Just a note: for the height maps, you still need to indicate to xNormal the maximum value to scale the height in order to write it to a 8bits bitmap(BMP,TGA,etc).

    - The "render multiple maps in one pass" feature is back.

    - Some bugs were corrected.

    Btw, I think i'm gonna add a new tool to measure the min/max distance between the lowpoly and the high res one. It could cast some random rays to detect the distances. I think a tool will be better than a "Compute distance automatically" in the lowpoly's ray distance properties... because it could be used also for other programs. Basically you will select some highpoly meshes and some lowpoly meshes... then you press a "Compute min/max distances".... then some rays will be constantly casted and the min/max texts will be updated... All this occurs until the user decides enough time passed and aborts the process. What do you think?
  • Baddcog
    Offline / Send Message
    Baddcog polycounter lvl 9
    Thanks for Xnormal BTW, I've been using it alot for AO, good tool.

    Still haven't got around to trying normals with it yet.

    Just updated yesterday so I'll have to see if I need to again ;)
    Sounds like a cool option for the min/max.
  • MM
    Offline / Send Message
    MM polycounter lvl 18
    hi jogshy, did u get rid of the object ID color baking ?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    MM wrote: »
    hi jogshy, did u get rid of the object ID color baking?
    Hmmm.. no, why?
  • MM
    Offline / Send Message
    MM polycounter lvl 18
    nm i found it, its under the base texture and i thought it was a separate option.

    btw, i think you could get rid of the "Generate" text in that maps to render roll out.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    MM wrote: »
    hi jogshy, did u get rid of the object ID color baking ?
    I found several bugs with the base texture baking. They should be corrected in the 3.16.3 beta 3 which is available now.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Has been the Photoshop CS4 Trial released? I need to add support for it. I think it adds x64 support, doesn't it?
  • MM
    Offline / Send Message
    MM polycounter lvl 18
    jogshy wrote: »
    Has been the Photoshop CS4 Trial released? I need to add support for it. I think it adds x64 support, doesn't it?

    yes it has been released and has 64bit support (but opengl acc only works on vista64 and not xp64)

    edit* the file browser bug i mentioned before seems to be gone now that i re-opened xNormal :)
  • bugo
    Offline / Send Message
    bugo polycounter lvl 17
    True, i had to update to Vista x64 to make opengl to work on CS4
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    The final 3.16.2 is available:

    - MatchUV feature for subdivided models.
    - Vector displacement map support.
    - Ray distance tool.
    - Photoshop CS4 support ( including x64 ).
    - Sh diffuseGI cubemap converter tool.
    - Radiosity normal mapping support.
    - Auto-normalized maps.
    - Improved memory management for big images.
    - Improved SDK compatibility .
    - Lots of bugs solved.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    I'm working on realtime vector displacement mapping.
    Some screenshots:

    #1 with maximum extrussion strength ( notice the overhangs, rotated spikes, etc )
    displace1od5.jpg


    #2 with 50% strength:
    displace2zy0.jpg

    #3 with zero strength ( which leads to simple normal mapping ):
    displace3br6.jpg


    And the good news... this technique could be applied using DX9 SM3 hardware! And it renders very fast as you can see! ( My GF8500GT renders it at full speed 75Hz which is my monitor refresh rate! ). It also consumes MUCH less video memory than a statically tessellated mesh and it's suitable for animation. I'm preparing a paper explaining it.

    It tessellates the model using a normal map and a vector displacement map ( both rendered using xNormal ). There are no tricks: no parallax occlusion mapping, no relief mapping, no prisms... it's TRUE displacement mapping!

    displace4gi2.jpg

    currently i'm using brute force but i'm tweaking it to use a distance adaptive heuristic.

    Here's the video:

    http://www.youtube.com/v/1baaqr8318M
  • Joshua Stubbles
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    You're indispensable jogshy, seriously. Such a great asset to the community, we all appreciate the hard work.
  • wailingmonkey
    jogshy,

    I've been looking at xnormal here and there, but I've not figured this
    one out yet:

    - does xnormal have the capability to export out turntable animations (with or
    without camera moves)?

    I'd like to consider it for realtime clips to go on a demo reel ...

    (sorry if this is an ignorant question, but I couldn't find a full-blown
    feature list on your site)
  • silversteez
    seriously. vassago said it. somebody give this guy a million dollars already???
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    - does xnormal have the capability to export out turntable animations (with or
    without camera moves)?

    I'd like to consider it for realtime clips to go on a demo reel ...
    Currently will be hard to add animation(morphing/skinning/MD3) to xn3, but it's planned for xn4 yep.
    somebody give this guy a million dollars already???
    Nope, i'm poor as a rat! :D
    It will be very welcome, specially because I need to renew the web hosting on January 1, 2009
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    any progress on a new GUI? - I'd really like to see this tool evolve into something bigger as it already is- a nice GUI would be defenitly a big step towards that goal.
    If I am not mistaken some people here already made some great suggestions- though I cant find it anymore.

    oh and keep up the amazing work
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    renderhjs wrote: »
    any progress on a new GUI? - I'd really like to see this tool evolve into something as it already is- a nice GUI would be defenitly a big step towards that goal
    xn4 will use a standard and native OS look. I'm gonna use wxWidgets. The 3D viewer will be integrated into the app ( and you could disable it so no time will be wasted rendering things that you don't need ). That will remove also the .NET dependencies helping to reduce the size of the package.
  • wailingmonkey
    jogshy wrote: »
    Currently will be hard to add animation(morphing/skinning/MD3) to xn3, but it's planned for xn4 yep.


    Thanks for the info. I wasn't looking to animate the model aside from spinning on axis for
    demo-reel purposes (so potential camera translation/rotation as well). Reckon you won't be
    there for a bit, tho.

    Cheers.
  • Michael Knubben
    Actually, it does that already. You can spin the camera and the light(s), and export it as an animation. I hope that works for you, I haven't tried it yet.
  • ImSlightlyBored
    Offline / Send Message
    ImSlightlyBored polycounter lvl 13
    yea, that works fine.

    displacement looks amazing!
  • wailingmonkey
    thanks for the tip, MightyPea...I'll have to give it a whirl.
  • SHEPEIRO
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    your a fecking star
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Very good to hear you're going with WXWidgets, that should make the whole interface a lot nicer for the end user, and probably easier for you to code too I guess! :)
  • Entity
    Offline / Send Message
    Entity polycounter lvl 18
    could anyone host this on rapidshare? I'm having problems downloading this, it's either extremely slow speeds for me or time outs :P
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Entity wrote: »
    could anyone host this on rapidshare? I'm having problems downloading this, it's either extremely slow speeds for me or time outs :P
    I'll upload the upcoming 3.16.3 the next week. It's almost finished so better wait if ya can.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    The 3.16.3 RC1 has been released. It basically adds the displacement mapping in the DX10 graphics driver(Vista only as probably you already know) and fixed some bugs.
  • zOffTy
    Offline / Send Message
    zOffTy polycounter lvl 18
    Awesome work Jogshy !

    Is there an option to set xNormal in azerty mode for the 3dviewer?
    Thanks again!
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    zOffTy wrote: »
    Awesome work Jogshy !

    Is there an option to set xNormal in azerty mode for the 3dviewer?
    Thanks again!
    Ok, I gonna fix it for the final 3.16.3.
  • Vrav
    Offline / Send Message
    Vrav polycounter lvl 11
    jogshy wrote: »
    Ok, I gonna fix it for the final 3.16.3.
    I have the same issue with dvorak; have to switch to qwerty because of xNormal's controls.

    Just a nitpick. Awesome app, regardless.
  • Daz
    Offline / Send Message
    Daz polycounter lvl 18
    Hey jogshy, thanks for the invaluable updates. I have a question: I'm playing with the simple ambient occlusion generator to occlude models vertices as an alternative to using Mayas batch bake mental ray (its results always disappoint me). I also played with faogen, and whilst the results are way nicer than mental ray for maya, I discovered *after* purchase that getting the vertex color back into maya is way way more complex than the webpage lets on. Awesome. So you mentioned at some point that you felt that getting .sbm's or .obv meshes back into 3d apps was "easy". Now whilst that might be true for Max, as far as Maya goes, after much googling that doesn't seem to be the case. Do you (or anyone else) have any bright ideas on how to get the vertex color from xNormal back into maya? Any help appreciated.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Vrav wrote: »
    I have the same issue with dvorak; have to switch to qwerty because of xNormal's controls.
    Don't worry. I'll use key scan codes to solve that and azerty/dvorak will work properly.
    Do you (or anyone else) have any bright ideas on how to get the vertex color from xNormal back into maya? Any help appreciated.
    I think I'm gonna add a Maya exporter/importer for the next version, yep.

    The SBM and OVB formats are public and very simple. If you(or a programmer near you) know python, would be not very difficult to create a small script to read OVB files(which are XML files really).
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    I have uploaded the RC2. The AZERTY and Dvorak keyboards should work now.
  • zOffTy
    Offline / Send Message
    zOffTy polycounter lvl 18
    yeah !

    thanks a lot jogshy :)
  • MM
    Offline / Send Message
    MM polycounter lvl 18
    jogshy wrote: »
    I think I'm gonna add a Maya exporter/importer for the next version, yep.

    do you mean one that also does good obj export/import to resolver hard surface normal baking ?

    because right now i can only bake good hard surface normals inside maya.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    MM wrote: »
    do you mean one that also does good obj export/import to resolver hard surface normal baking ?
    And also to import/export vertex colors, aye.... But it will import/export SBM files only.
    I'll also write a OBJ exporter(this one for xNormal) to export the vertex colors ( "vc" elements ).
  • jgibz
    Offline / Send Message
    jgibz polycounter lvl 16
    Hi guys,
    I got a few questions, my bad if this thread is only for development.

    I've got a DX10 card(nvidia 8800 GTS), and a compatible GPU (intel core 2) but xnormal runs in DX9 SM3.0

    My drivers are updated for 64 bit vista.

    But None of the new features work, I was especially looking forward to Ambient Occlusion :(

    I get this weird result from the vertex displacement...
    http://www.bosquestudios.com/Jack/forum/vertexDisplaceProblem.jpg
  • Greg_Brown
    I am trying to create a vector displacement for a project I am working on now. The quality of the maps your software produces is exceptional, however I can't seem to get rid of the seams in the map. I am not using a cage, I have played with various distances, match uv's is turned on. High Poly Model is 13 mil, low poly is approx 1000 polys that are subdivided to 13 mil. Models are exported from zbrush and match the scale of your example scene.

    Any help would be great!

    Thanks

    6_directions.jpg
  • Greg_Brown
    jgibz wrote: »
    Hi guys,
    I got a few questions, my bad if this thread is only for development.

    I've got a DX10 card(nvidia 8800 GTS), and a compatible GPU (intel core 2) but xnormal runs in DX9 SM3.0

    My drivers are updated for 64 bit vista.

    But None of the new features work, I was especially looking forward to Ambient Occlusion :(

    I get this weird result from the vertex displacement...
    http://www.bosquestudios.com/Jack/forum/vertexDisplaceProblem.jpg


    click on the plug icon on the right side and go into settings. Select the graphics driver tab. Change the graphics driver to dx10. My Vista system at home had the same problem as it was set to dx9 by default.
  • zOffTy
    Offline / Send Message
    zOffTy polycounter lvl 18
    hi

    Is there a plan to say to Max sbm exporter, to take into account the "render iters" on a turbosmooth modifier

    rol_turbosmooth.gif

    thanks again jogshy :)
  • solar
    Offline / Send Message
    solar polycounter lvl 18
    Any plans to support Ati Stream Jogshy?
  • rollin
    Offline / Send Message
    rollin polycounter
    once again a big thx .. xNormal is just awesome....

    but one thing I think would be very very cool is a standalone obj 2 sbm converter!

    greetz
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Wow! Lots of questions. Here are some answers:
    jgibz wrote: »
    I get this weird result from the vertex displacement...
    http://www.bosquestudios.com/Jack/forum/vertexDisplaceProblem.jpg

    Turn off the "show highpoly meshes" checkbox :P or uncheck the "visible" property on the highpoly list.
    Btw, the example looks much better if you disable the DX10's gamma correction option ( in the plugin-manager ).
    I am trying to create a vector displacement for a project I am working on now. The quality of the maps your software produces is exceptional, however I can't seem to get rid of the seams in the map. I am not using a cage, I have played with various distances, match uv's is turned on.
    Are you using the max2obj exporter that comes with 3dsmax by casuality? Use the xNormal SBM mesh exporter or the guruware's OBJ exporter instead... the max2obj exporter is very bugged!
    Also sure you UVs are well welded ( enable the "show tangent basis" on the xn's 3D viewer... and see if there is only 3 axis per vertices... if not, there is a non-welded seam there ). You can also render a "wireframe an ray fails" map to see the seams ( marked in green usually ).

    Btw, with the MatchUV you don't need to specify any distance and neither to use a cage. All is performed automatically for normal maps, height maps and vector displacement maps. However, for ambient occlusion, cavity maps, etc... yes, you'll need to specify them.

    About the seams: vector displacement maps are MUCH more sensitive to UV seams than the normal maps. In a normal map a seam just makes a small diveregence in the lighting... but they can be terrible for vector displacement maps because it does not only affects to the lighting but also to the position! Although the vector displacement mapping I'm using in DX10 uses a "watertight" edge glue system, the seams need to be planned well. I'm sure you'll see lots of tutorials about this once DX11 is released ( Q3-Q4 2009). By now, the technique needs to mature a bit yet.

    I'm gonna add an option to display the seams in the upcoming 3.16.4 version, so you can see how they affect to your model.

    Try to use object-space vector displacement maps instead of tangent-space... tangent space multiplies the negative effects of the seams even more!

    Oh! Other thing: if you want to use the vector displacement maps in other programs(like Modo), you probably gonna need to multiply the RGB channels with the Alpha channel ( the alpha channel is written with the normalized distance ).

    If you want, you can send me your model by email so I can play with it a bit to try to improve the technique. I'll be very pleased. Thanks!
    click on the plug icon on the right side and go into settings. Select the graphics driver tab. Change the graphics driver to dx10. My Vista system at home had the same problem as it was set to dx9 by default.
    Yep. Currently, the DX9 is the default graphics driver, even in Vista.
    I should change it to use DX10 in case you have a DX10-compatible card installed and the user is running Vista.
    Is there a plan to say to Max sbm exporter, to take into account the "render iters" on a turbosmooth modifier
    Hmmm, what's that? Well, I need to investigate a few but the Projection modifier programming interface that provides Autodesk is a bit limited currently.
    Any plans to support Ati Stream Jogshy?
    Yep, in fact I'm playing with it currently.
    Both CUDA and StreamSDK ( as well as S3's S3FotoPro ) are very cool GPGPU technologies... but I would need to write a lot of code for different hardware... one for CUDA... other for Stream... other for FotoPro... too much work.... So I think I'm going to concentrate instead on OpenCL because which works with any hardware and it can be used with other operating systems.
    The problem is that OpenCL's specification was approved yesterday and gonna take some time to get decent drivers ( like 4-6 months as minimum )... but we must give thanks for it.... We really needed a GPGPU portable standard.
    one thing I think would be very very cool is a standalone obj 2 sbm converter!
    Hmmm.. good idea, I'll add a tool for that!

    Btw, the upcoming 3.16.4 gonna include Maya exporters/importers too. It probably will be available this month.
  • jgibz
    Offline / Send Message
    jgibz polycounter lvl 16
    Thanks for the help Greg and jogshy
  • Vrav
    Offline / Send Message
    Vrav polycounter lvl 11
    I'm having a bit of a problem... spent a couple hours trying to figure it out, to no avail. xNormal refuses to render my tangent space normal maps. It reads the UV regions that have normal information, but wipes them clean and generates world/object space smoothed normals. Incredibly frustrating... what am I doing wrong? I import the lowpoly model, assign a normal map texture, ensure 'tangent space' is checked, and load up the viewer... but it's always the same. Clears my tangent space normal map (not baked in xNormal) and uses smoothed world space colors. I really have no idea why.

    xNormal2008-12-1316-35-38-70.jpg

    Both of these examples have mirrored UVs. Could that be the source? It's driving me crazy.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Vrav wrote: »
    I'm having a bit of a problem...

    xNormal2008-12-1316-35-38-70.jpg

    and uses smoothed world space colors...
    It looks like the normal map is not assigned. When this happens and you enable the "show normals" option, it uses the vertex normals instead of the normal map's texels. The question is why the program is not getting the normal map assigned...

    Ok, some questions:

    - Are you assigning the normal map to the normal map slot, aren't you? Notice there are multiple texture slows ( base texture, height map, normal map, specular map, reflection map, etc ).

    - xNormal version? Operating system? Graphics card and driver version(forceware,catalyst,etc), pls?
    Are you using the DX9, DX10, OpenGL or ray tracing xNormal's graphics driver?(see it below the big XN blue logo inside the 3D viewer or in the plugin-manager dialog).

    - what format are you using for the image and meshes? Size of the normal map, pls?

    - Can you post an image with your viewer3D settings, pls?

    - Do the xNormal's examples work for you?

    - You mentioned you're using mirroring. What happens if you clamp the UVs to [0,1] range?

    - See the log file located in My Documents\xNormal\xNormal_debugLog.txt. Does it show any error?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Btw... anyone know in depth the Maya's C++ API? I have a doubt and I cannot solve it 8(
  • thomasp
    Offline / Send Message
    thomasp hero character
    just wondering - is xnormal (or any other tool out there) capable of adjusting the normal map accordingly if you change the underlying vertex normals? e. g. change the topology of an already finished asset and tweak the existing normal map based on the differences between original and new topology?
1232426282959
Sign In or Register to comment.