Home Technical Talk

xNormal - MASTER THREAD

2456759

Replies

  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    btw Daz, I changed the AO method in the v3.3.0 if you want to do some tests. Now should be faster(fast means too a bit more inaccurate.. hope supersampling, blur and dilate can get rid of these small points when rays fail due to numerical imprecissions...) and allow you to use floating geometry without problems, because I am casting the AO rays from outside to inside and not inside to outside like the previous version did.

    For the v3.4.0, basically I will allow to hide geometry(yes, by mesh basis), so the raytracer won't perform collisions on hidden(non-solid in technical language) meshes. No idea if this is the solution or is good but I am implementing it ( I'm stubborn! ).
    Also will let you specify multiple lowpoly meshes and hide them too ( in the viewer too, not only in the raytracer ) and render-queue-batches to render multiple geometry with different ray distances ( so you won't have to re-compose the floating geometry in photoshop ).
    The reload thing and alpha-sorted transparency will appear in this version too.

    The v3.4.0 will be available the next week ( sorry i'm out this week for the amazing GDC2006 conference! )

    Will delay ASE support for the v3.4.1 because I don't like that format too much...

    See ya soon.
  • ElysiumGX
    Offline / Send Message
    ElysiumGX polycounter lvl 18
    feedback: i'm getting "Error: A 800x600 display or above is required" with the 'ignore multimonitor' checked.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    If you don't have multimonitor(imagine you have only one 1024x768 TFT) and you enable the Ignore thingy will show that message laugh.gif I just divide by two the virtual desktop, so If you don't have almost 2x monitors in 800x600 will show that message because (1024x768)/2<(800x600) hehe

    Unfortunally some drivers returns to the programmers that only one monitor is installed when 2 or 3 are really. That is because cards like the geforce just divide the framebuffer into the two monitors, so really you get only a greater desktop, but the system says you have only one monitor installed... So when you check this option I just divide by two the virtual desktop width ( or the height if use a vertical span ).

    That's why I put the "experimental" thing hahahah, I CAN'T fight vs the driver! The driver LIES me! Says I have only one monitor when I have two! I h8 it! Is a pain confused.gif

    I heard you can set an "applicaiton profile" in the drivers too for disabling multimonitor when running xNormal too.
  • ElysiumGX
    Offline / Send Message
    ElysiumGX polycounter lvl 18
    k, i have no idea what you just said poly112.gif

    I have two monitors on an ati card with omega drivers. both 1280 x 1024. maybe i'll just disable my secondary before using this, for now. what's the advantage of using this on multiple monitors anyway?
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Ouch! Then I think is my fault. Will test it again.
    The "omega" drivers are the non-official ATI drivers, aren't them? I always install the Catalyst heheh

    Well the new version I am preparing is a major major release. I think I just will the use select the video mode and window size so all those problem will be solved ( i hope! ).

    Will let you too combine, hide and select the geometry you wanna process.. You will love the method, I promise.. I'm just refining the UI a few before to relese it.

    See ya and thx for the comments!
  • Zcubed
    Offline / Send Message
    Zcubed polycounter lvl 18
    Hey, I just wanted to chime in and thank you for the great, free tool. I've wanted to tackle a normal mapped character for some time now, but the complexity of the process has scared me off. This program seems to offer great results and ease of use. It's also nice to see such frequent updates. Thanks again. grin.gif
  • Zergxes
    Offline / Send Message
    Zergxes polycounter lvl 18
    Thank you so much for making this! Beats the crap out of Melody. On the art end is Daz's method the best thing we can be doing to get the least possible number of ray errors?
  • CheeseOnToast
    Offline / Send Message
    CheeseOnToast greentooth
    I'm about do download the latest version..sounds top notch Jogsy. I haven't heard mention of a cage geometry being used to limit ray length when creating the normal map, only a uniform ray distance. Apologies if this is already in, but from experience, a third bit of geometry used only for limiting rays can save a lot of headaches and cleanup.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Hmmm cage geometry... I think Melody has something like that, but never understood it.. Can you explain me a few how it works so I could implement it well pls, Cheese?
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    Jogshy: Cage geometry is essentially an inflated version of your low-poly mesh where the difference in depth between the cage and the low is your ray-cast distance. This allows the user to define on a per polygon(or vertex?) level the ray-cast distance.
  • CheeseOnToast
    Offline / Send Message
    CheeseOnToast greentooth
    Well put Scooby. Some programs also allow you to choose where the ray takes its sample from, based on the cage (also known as envelope). For example, Maya's normal mapper allows you to pick from inside the envelope, nearest the envelope, or outside the envelope. It can help in areas such as armpits, where a ray from the ribcage might hit the inner arm if it's too long, and sample the wrong area. It can eliminate the need to break up your model, and also helps when sampling the caps of cylinders. Poopinmymouth posted a pic of it in action somewhere on the boards. If I get a chance, I'll try to post some pics of Maya's version.
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    Thanks Cheese-toast. One thing I forgot to add is that the ability to manually adjust the verts of the cage, rather than just a blanket inflate/push is crucial for those tight concave areas, such as the armpit. Also, Max allows you to set your cage to a transparent shaded view so you can be certain your cage fully encapsulates your high poly source mesh. If you see your source mesh clipping through the transparent cage? Scale those verts out until I no longer does. Otherwise its a lot of trial & error, wasting a lot of time rendering.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Ohhhh I understand now. GOOD! I think I got the concept, but some screenshots of that cage thingy won't hurt smile.gif

    I've found some links about it:

    http://home.austin.rr.com/jimmagill/Normal%20Map%20Generation%20in%20Max%207.htm
    http://www.poopinmymouth.com/tutorial/normal_workflow_2.htm

    Ok, I will finish the v3.4.0 with batch support and a preliminary "cage" thing in a few. I'm too much occupied this week with the GDC2006 hehehe!

    See ya, stay tuned!
  • StrangeFate
    Offline / Send Message
    StrangeFate polycounter lvl 18
    Superlopez rules!
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    xNormal v3.4.0 out as promised.

    Adds new "cages" method to measure better the ray distance ( per-vertex editable non-uniform ray distance, inner AND outter cages ), independent front/back ray distances (uniform, old method improved too), transparency in the viewer, batch rendering, hide/show meshes from raycaster/viewer, multiple meshes loading (including the highpoly in the viewer), reload models/textures, F10 key to take screenshots, extended the documentation to 80 pages, choose video mode and ignore/use multimonitor, etc etc etc...

    Added/changed like 15.000 lines of code, so expect some error from my part ( that's why I keep the old version 3.3.0 in my web )... I tested it 2 days, hope all work ok...Size of the executable has grow a few too due to this...

    As always, download at:
    http://www.santyesprogramadorynografista.net/projects.aspx
    http://santyhammer.blogspot.com

    Hope you like it smile.gif
  • Joshua Stubbles
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    You're a monster, jogshy. Thanks for the update and new features!
  • Snowfly
    Offline / Send Message
    Snowfly polycounter lvl 18
    Jogshy, if the UI is the only part of the program that's .NET dependent, would you consider scrapping it and using basic Windows GUI elements? Or are there other reasons for keeping it .NET?

    Not putting it down, it's an excellent app and a wonderful contribution from you. I was just thinking there are other ways to enhance the UI without the graphical interface, and not having to download .NET adds to the user experience (at least for first time users..) Keep it up!
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Yep yep, only the UI uses .NET 2.0 ( specifically Managed C++ and C# ), all the program core is written in C and C++ for portability and speed.

    The only main reason to keep .NET is that using GoMono ( http://www.go-mono.com ) or dotNGU ( http://dotgnu.org/pnet.html ) I can port it very easy to Mac and Linux the future versions.... as well as maintain an insane productivity ( .NET really rocks, is easy, fast, portable, free, multiplatform and wonderful ).

    The xNormal v2.0 used the MFCs/ATL and I really terminated hating it. Using it, xNormal executable occupied 9,8Mbs ( in fact xNormal has near 3,5 million of lines... appears simple but it is not at all! )...And the interface was really ugly haha!

    Also wanted to experiment a few with .NET and I'm experimenting a few too with Avalon WPF ( I have an internal version of xNormal for Windows Vista and DirectX10 in progress too but I can't release it due to an NDA laugh.gif ) and Xbox 360 .NET SDK ( yes, unbeliable, see http://www.gamedev.net/community/forums/topic.asp?topic_id=381236 ).

    I wanted to experiment a few in Java too, but unfortunally I personally don't like Java UI designers ( by concept, the pack() thing is ugly as well as the strange layouts! ) and JNI was terrible hard mixing C/C++ and Java code!

    Qt was other option. Unfortunally, like I don't provide the source code for xNormal then a Qt pro license will be required ( 1k $$$ )

    I could eliminate .NET and use default Win32 GDI UI but that won't reduce the software requisites... I use OpenMP for symetric parallel computing and Visual Studio 2005 DLLs, Windows Installer 3.1 and some Visual Basic classes too and Unicode Layer, so you will be really forced to install .NET 2.0 + some redists + Win2k/XP minimum... And using .NET reduces .EXE from 9,8Mb to 2,8Mb.. so it won't worth the effort. MFCs/ATL are really a PAIN ( and obsolete ) and won't let me use nice button/dialog effects like I do atm.

    And yes, I know the first time you install it sux badly because it takes hours and hours downloading Microsoft things but think thats a good way too to keep your computer well updated for future programs! For example, companies like ATI are moving to .NET too ( you can't download the old control-panel drivers, only the control center drivers which are built using .NET ). Think too that Windows Vista's APIs like Avalon, Indigo, DX10/XNA, WinFX, etc are fully managed .NET... Some games are being developed using .NET engines ( see http://artificialstudios.com/features.php , this engine was recently bought by Epic Games to improve their Unreal Engine 4.0 engine .. yes I said 4.0 and not 3.0, is NOT an errata shocked.gif see in the bottom of the page "Reality Engine is a trademark of Epic Games, Inc. all rights reserved" ), so you will need to install the .NET now or in a very near future... So better now than after.

    .NET ( and derivates like go-mono, dotGNU, Rotor ) is the future of the programming. Much <3 for .NET. Sorry if I went too much technical but I'm a .NET maniac programmer, mwahahahaha!


  • Snowfly
    Offline / Send Message
    Snowfly polycounter lvl 18
    Yeah I can definitely feel the love for .NET in that post. smile.gif I won't question your judgement, if .NET is really is as great as you say it is then amen. Yay for forward thinking programmers!
    All the desktop apps being developed here at work are .NET based, and it's bumpy setting them up on test computers but like you said it will change in the future..but for now..it's still bumpy. smile.gif

    Here's my install experience so far... (and I've installed 2 previous versions of xNormal successfully)

    1. Prompted to download .NET 2.0. I had it before but removed it because C:\ was running low on space. Not really a problem...

    2. Ran the installer from the .zip because I'm able to do this with other apps. Didn't work because it couldn't find the .msi so I unzipped the file. Not a problem either.

    3. Selected the app from the Start menu. It didn't work because msvcp71.dll wasn't on my PC. Downloaded it and dropped it in windows\system.

    4. Tried to run the app again but it won't start because it can't find the background music .wav. I uninstalled my sound drivers this isn't a problem either, but is the BG music really necessary to start the app?

    I know I won't be able to run xNormal on my home computer because I can't get the Intel sound drivers to work..

    :-( In short, I'm not able to use xNormal at all. I know my computers are weird but it would be nice to be able to run xNormal still...
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    You need to unzip the xNormal_3_4_0.zip and then run setup.exe ( dont execute the .msi ). Notice you need WinXP SP2/Windows2000 SP3, Win98/95 not longer supported.

    Ouch! I should install the msvcp71.dll, but I forget it in the installer I think. It should come with SP2 tho perhaps. Well, will add it in the next version to prevent problems.

    Yes I was thinking about the music too... In the next version I will allow to run the program without sound cards because is really a non-sense to require it for an application like this.

    I'm planning a version 3.4.1 to correct minor things like these in a pair of days btw. Do you have any other bug or easy-to-do feedback while pls?

    thx for all the notes.
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    Hi, is this what I need to download to be able to run xNormal? http://www.microsoft.com/downloads/detai...;DisplayLang=en
  • dur23
    Offline / Send Message
    dur23 polycounter lvl 19
    Love the app and all great work so far.

    As for interface i think you should perhaps jump on QT as it is considered the best (well at least from what i hear from our programmers). Now i don't actually know why it would be the best, but when i see them working in QT designer it makes me think i could even make apps.

    Anyway great job so far.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    No lupus. The xNormal installer automatically downloads and installs all that it's needed. However, if it can't download the prerequisites ( due to a restrictive internet firewall for example ), you need to download manually this:

    .NET 2.0 (for x86) http://www.microsoft.com/downloads/detai...;displaylang=en

    .NET 2.0 (for x64) if you run Win64 over AMD64/AI64
    http://www.microsoft.com/downloads/detai...;DisplayLang=en

    Windows Installer 3.1
    http://www.microsoft.com/downloads/detai...;DisplayLang=en

    Visual Studio DLLs
    msvcp71.dll, msvcr71.dll, msvcp80.dll, msvcr80.dll, etc... ( Try search in internet, run windows update and install service packs )

    So just unzip the xNormal package and run setup.exe with an Internet connection to downloads automatically all that you need.

    As recomendation just run periodically Windows Update and you will have all this and security patches, etc.

    For dur:
    Qt is good but I would need the pro license because xNormal is not open source atm, so it will cost me 1500$. There is a free edition, but if you see http://www.trolltech.com/products/qt/opensource.html you need to distribute your sources with it and atm I dont want that heeh
  • Keg
    Offline / Send Message
    Keg polycounter lvl 18
    curious, looking at the page. is there a huge need/want for a solaris version? linux and macOS I can understand
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    Just installed the .net you pointed me too and restarted the computer (also updated and installed the windows stuff).

    I get a new error now when trying to open xNormal:

    "Unexpected error initializing the OpenAL sound driver. Please sure you have a 16bits sound card installed and working!"

    I have onboard sound; Soundstorm on my asus A7N8X rev 2 mobo. Not sure why sound would be a problem for xNormal though frown.gif
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Hmmmmmmmm

    This is a typical artist trying to run xNormal:

    http://www.youtube.com/watch?v=yhoyDBd09dM

    Now, seriously, xNormal v3.4.1 is out. Sound card is no longer required to run the program, solved the msvc71.dll problems and other minor things.

    As usually in http://www.santyesprogramadorynografista.net/projects.aspx

    If you have anymore problem you know where to find me
  • Mongrelman
    Offline / Send Message
    Mongrelman polycounter lvl 18
    Yay, it works now! Awesome work Jogshy, this is just what I need to preview stuff smile.gif

    Just a minor request: would it be possible to maybe have more control over the light or possibly scale the model? Sometimes the light is pretty close to the mesh so you can only really see certain parts at a time. If another light could be added, or the ability to have the current light further from the model, that would help I think.

    But that is just a minor issue for something so great and free laugh.gif
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    yes, maybe a slider control for "light distance" or maybe "model size" on the left would probably work well for that? smile.gif
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Sure, it's easy. Inc that for nxt version in a few.

    ps: Wow no comments on video... 1st time I seen it I was laughing all the day hahah!
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Yeah I watched that video, it was pretty funny smile.gif
    Kinda scary kid though! blush.gif
  • Snowfly
    Offline / Send Message
    Snowfly polycounter lvl 18
    thanks for the fixes jogshy! i can put it to use now. tongue.gif
  • EarthQuake
    I've yet to get a chance to really try this out yet, hopefully will soon. I just wanted to comment on how fucking awesome it is that you're adding in all these features that people keep asking for. And at such a furious pace too.
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    thx Earth!

    Hey btw Earth, I love the glow effect in your Armaggedon game here
    http://www.boanergesstudios.com/Agdn.php ( the guys with the orange visors, scroll to bottom ) . Looks very good da game!

    Is a good source of inspiration. I think I will put a glow effect too for the xNormal 3d viewer in a few for the emissive texture.
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Wow, hell yeah, I'd love to see a Glow/bloom effect like that on the emissive texture! That'd be awesome smile.gif
    You could maybe put a little button on the side to turn the effect on or off, yeah?

    Heh, your program rules, and you keep adding more... don't stop! You're a hero! laugh.gif
  • Joshua Stubbles
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    Didn't you say you're also going to be adding an HDR effect? You're NUTS! laugh.gif

    This is already better than any normal map generater I've ever seen, and the fact that you have a built-in viewer just compounds it's sweetness. Honestly, I don't think you know just how valued you and Xnormal is, here at Polycount (or in the industry as a whole, even).
    You're an amazing tool's programmer, and I can't wait to see more from ya. laugh.giflaugh.giflaugh.gif
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Ouch!, you're right, I think already mentioned the HDR thingy. Was experimenting a few with HDR fullscreen effect but I think just for the emissive will be enough. General fullscreen HDR I think just provokes headaches + epillepsia + God I think need new glasses cuz all is blurred haha!

    When I play WoW always disable the HDR glow effect because tends to blur and overbright all.. so I think just for emissive will be enough good... Or do you prefer full screen complete HDR glow effect for all? Any advantage to do full HDR and not only for emissive texture really?

    Of course will allow you to enable/disable + strength/lower the effect with some control... And I promise this fx WON'T raise the requisites to run the program ( is easy to implement in fact, is just a post-process 2D screen effect, nothing complicated ).

    The v3.4.2 is almost finished. Added the light "distance" slider and some minor requested corrections... In a few days will post it prolly. I again wanna thank you all the wonderful feedback!

    Basically I wanna add the glow effect, some soft shadows, cubemap diffuse lighting and a new "parallax bump" effect ( like the ATI toy shop one! ) for version 3.5.0 or 3.6.0. I'm experimenting a few with new things and also preparing other surprise tools atm wink.gif so I think need to do more I+D before to finish it hehe
  • Snowfly
    Offline / Send Message
    Snowfly polycounter lvl 18
    If you wanted to view an environment model then yeah HDR would be great, and only if the effect could be adjusted, but for standalone objects, just seeing the bloom coming from the emissive textures is just right I think. smile.gif Thanks again for the tool!
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    [ QUOTE ]
    The glow effect, some shadows, cubemap diffuse lighting and a new "parallax bump" effect will be added in the v3.5.0

    [/ QUOTE ]

    Waoahahhaa! I can't wait! smile.gifcrazy.gif

    Also I really like the Cages stuff you added! Very fast and easy to use... although here I don't seem to be able to select individual vertices? Is that because it isn't finished yet, or something wrong with me? smile.gif

    The visibility and multi-objects stuff is very cool too wink.gif

    Edit: Oh, and I just had another idea - the 3d viewer at the moment is very cool, but I think it needs a "hide lowpoly mesh" button, for previewing the highpoly file alone... at the moment if you press Show Highpoly, the low-poly mesh is still there and it gets in the way.

    Actually, could it be possible to make the 3d viewer so that it will open even if you don't have a lowpoly mesh loaded? So I could just select a highpoly mesh and go straight into the 3d viewer to check that it's ok or take screenshots, before loading the lowpoly?
    It's not really a big issue, I just wanted to see stuff in the 3d viewer as quickly as possible, you know, I'm an impatient artist smile.gif

    Umm... I don't know if a lot of people would agree with me but maybe if the RGB sliders had numbers next to them so people can get exact RGB values (or type them in)... some people might find it useful, I dunno. Maybe it'd clutter up the interface too much? I think it'd be good though.

    Also, any chance of 1-bit alpha (opacity) in the 3d viewer? It has every other map type except opacity... and I think that greyscale alpha maps slow down and cause problems with normal-maps sometimes, so maybe 1-bit (black and white) opacity maps would be ok? blush.gif

    Also for the 3d viewer, maybe if you could add another light? At the moment with one light, then anything un-lit just goes to black, which doesn't look natural really... although I know you said cubemap diffuse lighting was coming later (and that will be awesome for realistic lighting), maybe having a 2nd controllable light source (different colour from below or behind for example) would be very cool smile.gif

    Edit 2: Another idea - I don't know how difficult or impossible this would be... but it would be awesome to be able to load custom .FX files (HLSL shaders) to view textures with - for example then artists could load in their own shaders to check out different effects, for example this Skin Shader by Ben Cloward...
    Again it might be impossible, but it's an idea smile.gif

    Another thought and maybe bug - I selected 1280x1024 75Hz 6xAA for the model viewer, and it gets the right resolution and refresh rate, but there was no antialiasing... I've got a Radeon 9800 Pro, and if I turn on 6xAA manually in the ATI control panel, then it works fine, but not if I select it in xNormal options.
    Also maybe you could make the AntiAliasing into a separate drop-down menu - so people can pick their resolution, then choose an AA amount below it, just so there isn't a list of about 40 options in a single menu, you know? wink.gif

    OK I'm gonna stop making requests now because I've probably just said enough to have you programming until 2007 laugh.gif

    Many thanks again! smile.gif
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    And just to give you something back... here's a little test I did tonight - your program gives excellent results! wink.gif

    xnormal_head.jpg

    This lowpoly mesh was just a quick one, so the silhouette around the top of the head isn't very smooth. Also there are no textures other than the normalmap and AO map, the colour and specular were set using the sliders in the program smile.gif

    And hey - I can't see any seams laugh.gif
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    Gaaahhh! Amazing!
    Question: Why is it that Jogshy can whip up something so useful and awesome in a matter of weeks/months (for FREE no less), but multi-million dollar companies cannot seem to get it right after a couple years?

    Answer: Because he's fucking awesome!

    MoP: Looks totally rad fella!
  • EarthQuake
    I dont see why you would want 1bit alpha, standard 8 bit alphas really arent that slow with normal mapped objects, we use them all the time.... Esp when you only have one model loaded, any card that can run this program should be able to EASYILY handle that.
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Oh, OK EarthQuake - I wasn't sure... I just wanted any sort of alpha and figured 1-bit would be simplest to add smile.gif
    Of course if it's possible to do better opacity maps, I'm totally down with that! wink.gif
  • KDR_11k
    Offline / Send Message
    KDR_11k polycounter lvl 18
    I dont see why you would want 1bit alpha, standard 8 bit alphas really arent that slow with normal mapped objects, we use them all the time....

    Perhaps if you're previewing a model that'll use alpha test in the game?
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Well yes, obviously a choice of how to display/use the alpha map (maybe a drop-down menu) would be the best solution, but I don't wanna make even more ridiculous requests of Jogshy, he's already doing a whole lot of stuff as it is! smile.gif
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Wow nice head MoP!

    You can use basic alpha textures. Let me explain why I said "basic"... The v3.4.1 added alpha blending support. Just make an alpha channel in your base texture to control the opacity. If you need 1-bit alpha just load Photoshop or Gimp or whatever and play with the transparency mask until you use only 1 bit. 1-bit transparency is very good because indeed it doesn't require any sorting. The problem is that without alpha test the mipmaps will destroy your opacity mask. I think I need to add alpha test support in xNormal, yep.

    Other thing to take into consideration is that I don't perform any alpha sorting atm ( independent order transparency is a very complex theme in realtime graphics ) so you might need to play a few with the cull modes to avoid sorting problems.

    If you have a GeForce 7xxx, the viewer could use MTAA ( multisample transparent anti aliasing ) with the alpha-to-coverage function, which is nice for vegetation and other 1-bit alpha textured models. It also performs order independent transparency very good.

    On the other hand, if you select a video mode with AA and you don't see it in the realtime viewer can be because:

    1) You created a graphics driver profile with Forceware or Catalyst to disable AA? Do you have it set to "OpenGL advanced settings -> Antialiasing - Application Preference" ?

    2) I use an OpenGL function called glChoosePixelFormat. Basically request the drivers to aproximately-match a video mode with the features I request... so the driver can give you a video mode CLOSE but not exact to what I requested...
    Imagine... I request a 1024 x 768 x 32bbp x 75Hz x 6FSAA mode... but this mode is not supported and the drivers decides to use a 1024 x 768 x 24bpp x 60Hz x no FSAA...
    Sure you don't use "Override video modes" in Catalyst drivers, I think that controls how video modes can be selected by the driver.

    3) Some OpenGL drivers are just weird. To make a good OpenGL implementation can be very difficult due to the zillion extensions and functions it must implement and due to imprecission and ambiguity in some specification docs. Please sure you have the latest version installed.

    4) Perhaps is a bug, yep yep! Multisample in OpenGL can be very complicated to setup because Microsoft exit the ARB and we have to do really ugly hacks to pass the obsolete-and-nevermore-updated WindowsXP OpenGL1.1 render context system mad.gif

    To select one vertex in the front cage check the "Edit cages" to expand the cages menus. Then check the "Show front cage"... Then check the "Edit front cage". Now click over a vertex using the MIDDLE mouse button and voila! To select / deselect multiple vertices, HOLD the shift key and select with middle mouse button ( yes I know, sounds complicated! ) confused.gif

    See this is the aspect of vertices begin selected and extruded:

    VertexSel.png

    Notice you can control individually the extrussion for the selection and not only for the entire cage.

    And sure, I will add a "hide lowpoly mesh" and will let you load only the highpoly mesh too in the upcoming v3.4.2, is easy smile.gif

    Oh btw I am working too to re-enable dual-core support ( yes in fact xNormal is generating maps at half speed on multicore machines ) and FBX importer ( still waiting Alias to solve the TIFF problem... )
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Ahhh, I didn't try the middle mouse button... that works fine, it's ok smile.gif

    As for the AA thing, I have the Catalyst drivers set to "Application Preference" for antialiasing... and no driver profiles as far as I know... hmm. I'll check some more to make sure I'm not doing anything silly smile.gif
  • EarthQuake
    I did a test render yesterday and got some visible seams where i have uv seams placed, also theres some noticeable seems on that example model as well. Mop: how did you get your model to render out without any seams?
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Well, it does actually have seams, they're just hardly visible at all smile.gif

    xnormal_head2.jpg

    I actually had to try really hard to get the light and camera in such a position as to make the seam obvious - from 80% of angles and lighting situations you can't even see it.

    Also if you check this image I posted earlier, and compare it to the flat normal map above, you'll see that the ear UVs actually extend a little way onto the cheek, and I just can't see that seam from ANY camera angle or lighting situation.

    Also this map was rendered out from xNormal at 512x512 with 4x supersampling, no postprocessing at all - it's probably the best first-time result I've seen... it took no time at all to set up the cage, and rendered pretty fast, no errors at all. smile.gif
  • jogshy
    Offline / Send Message
    jogshy polycounter lvl 17
    Oh btw the seams you can see in the Diablo model are because when I received the Pablo Hoyos's model had MultiSubObj/Multimaterial with 2 mirrored textures in 3DSMAX and I wanted to edit it a few to use only 1 texture... so a programmer-trying-to-do-artwork edited Pablo's graphics and destroyed a few his model mwahahah! Some day I have to reoutch well that.

    I don't know very well how to get rid of the cylindrical head UV mapping seams... In almost all heads normal-mapped I've seen there is always an UV seam at the back side of the head... Usually games just put some hair or floating mesh in that part and voila, but I think there must be a way to solve it. Non-continuous UV mapped vertices are always conflictive confused.gif Perhaps some selective blur, edit in photoshop with the clone stamp tool or weld/align/collapse/unify normals in those vertices will work?
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Oh yeah, I'm sure I could fix it, I'm not worried about it though, your program does a very good job of not showing seams smile.gif

    Sometimes in 3dsmax or Maya, seams are really obvious and bad, but it's not the case with xNormal, so that's fine smile.gif

    I think any program or engine will show seams always unless the artist puts a lot of effort into hiding them by manually editing the normal-map ... so it's just something we can live with... especially when it's hard to see smile.gif
2456759
Sign In or Register to comment.