PDA

View Full Version : xNormal - MASTER THREAD


Pages : 1 2 3 4 5 6 7 [8] 9 10 11

jogshy
12-22-2009, 12:20 PM
@c22dunbar, try to break the cage on the flat borders ( I'm not sure if you manually-wielded the cage vertices there ).

Also, normal mapping could require a bit of beveling there as is shown here:
http://www.poopinmymouth.com/tutorial/normal_workflow.htm
(see the "one smoothing group vs two" figure).

c22dunbar
12-23-2009, 02:44 AM
i've figured out how to fix that, thanks for the reply though :)

i've used the "use exported normals" option. the problem was actually the UV mapping. i had the 90' angles polygons not separated. when i've moved them apart, giving there a little space, the dark seams along the long vertical edge dissapeared. (of course after cage tweaking)

here's the result:

http://img704.imageshack.us/img704/8599/90a3e205b9314c509aab0ef.th.jpg (http://img704.imageshack.us/i/90a3e205b9314c509aab0ef.jpg/)

i'm still a beginner if it comes to normal mapping. if i wanted to go with the "average normals" option, it required a lot of cage tweaking. and even then i couldn't get rid completely of that ugly stains on the curved area.

as for the beveling, i didn't want to go that way to keep the model as low poly as possible. i think that the results are not that bad.

i have a question regarding that dark lines as shown on the picture above. is there a way to get rid of them? i dont think they are a mistake cage-wise, as they dissapear completely if You shift the lightsource. my guess is that this is the result of a lowpoly mesh there.

plus, is there any way to make that edge a perfet curve without adding more geometry? i mean if normalmapping can do that? (forgive me if that is a stupid question :) )

http://img189.imageshack.us/img189/7691/65809404.th.jpg (http://img189.imageshack.us/i/65809404.jpg/)

osman
12-23-2009, 04:36 AM
The normal map cant deform your silhouette, so I dont think you can get that curve to be smoother without adding more geometry.

c22dunbar
12-23-2009, 06:09 AM
hm, maybe i didn't make mayself clear:

what i had id mind was the highilght curve in the middle of that stripe, not the silhouette. there are two highlight curves there, the first one is smooth and nice, but the second one is edgy.

on the other hand, the surface on the first one is at a different angle, and because of that it allows the normalmap to create an illusion of a smooth curve.

jogshy
12-23-2009, 12:35 PM
http://img189.imageshack.us/img189/7691/65809404.th.jpg (http://img189.imageshack.us/i/65809404.jpg/)
Yep, that's a typìcal problem when you use normal mapping. The mesh's edges can look a bit "lowpoly". Two solutions for that:

1. Use more polygons in your lowpoly mesh to mitigate the effect.

2. For flat surfaces ( like walls ) very perpendicular to the view angle, you can try to use parallax/occlusion mapping. For objects like a tree, you could write a geometry shader in your 3D engine to generate fins/bands near the tree's silhouette.

3. Use vector displacement mapping ( DX11 for a perfect solution. DX10 can be also used but with some limitations ) . See the DX10 spiked ball example in xNormal.

About the shading, perhaps you could put in the same smooth group the stripe(just average the vertex normals there). In that way the segments won't look flat-shaded but Goureaud-shaded.

GCMP
12-23-2009, 01:24 PM
i've figured out how to fix that, thanks for the reply though :)

http://img189.imageshack.us/img189/7691/65809404.th.jpg (http://img189.imageshack.us/i/65809404.jpg/)

Just wanna throw this out there... seem to be able to overcome these types of problems by turning edges (3ds max) even with 90 degree angles the shading looks correct providing you have enough geometry to allow surrounding edges to flow together or be seperated, whatever's required...

...BUT... a question specific to this problem. Seeing as the side of this object is flat and this rounded seam appears to be a seperate object with isolated uv's? Does this mean if not connected to the rest of the mesh by vertices or uv's that less tangency/curvature will occour and I'm not talking just XN here, any software.

Chai
12-24-2009, 08:42 PM
Perhaps you should remove that T-junction creating shared vertices.

What spread angle are you using? Perhaps you should also increase it to 179.5 or decrease it a bit... but I really don't know why those white lines appear.


Jogshy, I have varified the issue of the white lines are due to the cage projection.
Your program bakes between objects, but not an object by itself which was why I asked this at first.

The cubes are 2 seperate meshes, and I've made them intersect on purpose.
You'll always have meshes intersecting with each other, unlike baking AO from highpoly where it's best to separate them.

For example in 3dsmax if you use the "render to texture" dialogue without highpoly source, it will actually work differently - by capturing the pixel data directly from the mesh. (without projection) ... which is the only way to properly bake AO an object casts on itself.

I was hoping xNormal could do it, and I'll hit two birds in the same stone :)

jogshy
12-25-2009, 12:36 AM
Jogshy, I have varified the issue of the white lines are due to the cage projection.

The cubes are 2 seperate meshes, and I've made them intersect on purpose.
I'm afraid to get the desired result you must collapse both cubes into an object and solve the T-junctions. If not, the cage projection will overlap causing a lot of artifacts.

Speaking visually, do this:

http://img12.imageshack.us/img12/1028/boxesk.png


Btw, If you don't extrude the cage, it won't work ( I use a small epsilon value to avoid self hits ).

I'm not completely sure, but you probably should use an averaged cage instead of an unwielded one.

Then, assign as highpoly the lowpoly mesh and render. ( sure you enable the "use cages" option). The per-pixel AO should work now without those white lines.

If nothing of this work, you could perhaps try to subdivide(tessellate really) the meshes and use the Simple GPU AO tool to render per-vertex AO.

Chai
12-26-2009, 02:01 AM
I'm afraid to get the desired result you must collapse both cubes into an object and solve the T-junctions. If not, the cage projection will overlap causing a lot of artifacts.

Speaking visually, do this:

Btw, If you don't extrude the cage, it won't work ( I use a small epsilon value to avoid self hits ).

I'm not completely sure, but you probably should use an averaged cage instead of an unwielded one.

Then, assign as highpoly the lowpoly mesh and render. ( sure you enable the "use cages" option). The per-pixel AO should work now without those white lines.

If nothing of this work, you could perhaps try to subdivide(tessellate really) the meshes and use the Simple GPU AO tool to render per-vertex AO.

Well merging it won't really solve anything, this is just a test model - imagine I work on a daily basis with 6k+ meshes with hundreds of different intersection areas.

There's only one way to properly do it, and is to bake an object by itself without projection.
Most packages (3dsmax,maya,modo,etc) can do both types of baking, however I find your program superiour in projection baking (which is the more complex baking)
I would have used modo, but your AO engine is lightyears more advanced.

jogshy
12-28-2009, 10:06 AM
There's only one way to properly do it, and is to bake an object by itself without projection.
What happens if you UNcheck the "use cages" option and you set the forward/back ray distances to a very small value ( like 0.001 )?


imagine I work on a daily basis with 6k+ meshes with hundreds of different intersection areas.

But T-junctions in the lowpoly meshes are bad because they cause tons of Z-fighting problems, aren't they?

Chai
12-28-2009, 04:14 PM
What happens if you UNcheck the "use cages" option and you set the forward/back ray distances to a very small value ( like 0.001 )?

I get the same results regardless of the value I put. (though extreme values obviously give bad results)
From my tests I'd say these kind of maps just can't be properly baked in projection mode.

Fortunately I think I could use modo for self AO bakes - I gotta say thanks for your time trying to sort this out jogshy. :)

jogshy
01-08-2010, 02:33 PM
The 3.17.0 b1 is comming soon with these new features:

- vertex colors support ( zb/polypaint, max, maya ) + render vertex colors map

- Support for OpenCTM compressed meshes.

- 10% speed increase courtesy of VS2008+some optimizations.

zxcman
01-17-2010, 02:32 AM
guys,how to bake polypaint rom zbrush using xnormal?

metalliandy
01-17-2010, 04:20 AM
http://eat3d.com/free_zbrush_xnormal_pipe :D

zxcman
01-17-2010, 04:33 AM
i know)but site is off line

metalliandy
01-17-2010, 04:37 AM
Hmm...works ok for me.
http://downforeveryoneorjustme.com/eat3d.com
Try clearing your cache and see if that helps

zxcman
01-17-2010, 04:47 AM
Eat 3D is currently under maintenance. We should be back shortly. Thank you for your patience

jogshy
01-17-2010, 06:34 PM
Hmmm.... Walt Disney just released their Ptex API ( http://ptex.us/overview.html )... perhaps I should add support for it in the 3.17.0...
It could be useful to get a super-detailed HP-baked base texture or to add micro-detail to the highpoly model.

danshewan
01-18-2010, 11:06 AM
Apologies if this has been covered before, but it's getting increasingly difficult to find answers to specific questions in a seventy-plus page thread....

I've started test baking for the portable comms unit I'm working on, and I've finished laying out the low-poly UV's as so:


http://img508.imageshack.us/img508/5479/commsuvlayout.jpg


So I tried a test bake in xNormal, with default settings and I end up with this normal map and the resulting artifacting:


http://img508.imageshack.us/img508/834/normalerror.jpg


I'm guessing that this is a result of how the mesh is constructed, or how I've set it up for baking? I've overlaid the low-poly model on top of the high-poly mesh and they occupy the same space in Max, and the error seems to be visible on the mesh using Xoliul's shader:


http://img403.imageshack.us/img403/6114/mesherror.jpg


Is it best (or necessary) to set up the two meshes in Max as you would for an exploded bake before exporting the .obj files? Or is there something else I need to be doing to avoid this kind of artifacting? I'm still getting my head around the normal mapping workflow and I've only used xNormal for much simpler objects, so apologies if this has been covered or is painfully obvious.

Thanks in advance for any suggestions or input.

jogshy
01-18-2010, 02:46 PM
http://img508.imageshack.us/img508/834/normalerror.jpg


Did you setup your cages or are you using constant ray distances?
That antenna can be considered as "floating geometry", so you should define a cage to limit the ray distances.... or explode the model.

danshewan
01-18-2010, 03:11 PM
Did you setup your cages or are you using constant ray distances?

I was using constant distances, but I suspect that the problem is some tiny pieces of geometry that weren't grouped with the other geometry, leaving the unaltered UV shells overlaying the rest of the UV layout, causing the artifacting.

Once that's fixed, I'll see how I get on with an exploded setup. Thanks for the tips!

sub_roland
01-19-2010, 07:59 PM
hey all, was wondering if anyone could tell me why im getting some bad seems when baking in Xnormal? both shorts are from unreal, first image is with my lighting setup and all mats pulled in, the second is just the normal plugged into the diffuse spot so you can see the seems xnormal generates. My xnormal settings are the same as in the video metalliandy had linked to. thanks for any help you all can give

http://i271.photobucket.com/albums/jj135/sub_roland/SeemProblem.jpg

jogshy
01-20-2010, 01:17 PM
http://i271.photobucket.com/albums/jj135/sub_roland/SeemProblem.jpg
Can you post your UV layout and to select the conflictive faces there?
Probably there are UV seams in those faces. If not, maybe it's a problem with the smooth groups ( or the max2obj bugged exporter ).

sub_roland
01-20-2010, 10:32 PM
hey thanks for a reply, yeah they are where the uv seems are. it happens where ever this is a uv border, is that what just happens or can i lay out uvs in a certain way to avoid it?

jogshy
01-22-2010, 11:28 AM
hey thanks for a reply, yeah they are where the uv seems are. it happens where ever this is a uv border, is that what just happens or can i lay out uvs in a certain way to avoid it?
If there is a UV seam the normals cannot be continuous, so the light neither will be.

Usually you want to hide those seams with hair or to put them in parts of the model which are hidden in some way ( for instance, at the bottom of the shoes, etc... ).

I'm afraid the UV layout needs some serious planning for normal and vector displacement maps :poly142:

sub_roland
01-23-2010, 05:25 AM
cool thanks jogshy for the tip

jogshy
01-23-2010, 06:22 PM
The 3.17.0 B1 is released.
For the Beta 1 I'll add some Optix-accelerated ray tracing things :)

Btw... anybody wanna send me a ZB3.5 Polypainted(MRGB/RGB vertex colors) model to add to the xNormal's examples, pls?

East
01-26-2010, 10:49 AM
Awesome update, Santy, this is going to speed things up immensely. Don't have anything on hand right now I could send you that's not under NDA though.

Bug: It seems the automatic naming for the resulting vertex color transfer map is using the _occlusion suffix, so it overwrites the ACTUAL ambient occlusion map that's been generated.

jogshy
01-26-2010, 02:50 PM
Bug: It seems the automatic naming for the resulting vertex color transfer map is using the _occlusion suffix, so it overwrites the ACTUAL ambient occlusion map that's been generated.
Yep.

Actually I found other bug: if you render an AO map and the highpoy mesh has vertex color the output will be the vertex colors, even if you check in the "Ignore vertex-colors" option.

Bugs are funny!

jogshy
02-02-2010, 12:32 AM
3.17.0 Beta 2 released.
Try the Optix renderer! The speed is i.m.p.r.e.s.s.i.v.e
Just two notes:

1. The FW 196.21/196.34b crashes optix. You need the previous 195.62 ones.

2. Be sure you set the tile size to 256x256 ( or 128x128 if your card does not support it ) to use effectively all the parallelism the GPU can perform.

Tea Monster
02-02-2010, 01:23 PM
Hi All,

I'm using X-Normal, I've followed Matt Corcoran's tut and I'm still getting a lot of weird artifacts and other errata. I'm posting my views of the cage, the high poly and the low poly and what I'm getting out the other end of X-Normal.

Any ideas on why I'm getting problems?

Thanks for your help and advice.

Here is my UV and low-res:
http://i153.photobucket.com/albums/s204/tea_monster/uv.jpg

The High-Res:
http://i153.photobucket.com/albums/s204/tea_monster/HIGHRES.jpg

and the cage with the high-res superimposed:
http://i153.photobucket.com/albums/s204/tea_monster/cage.jpg

And this is what I'm getting out. See all the strange colors? This is at 512, it's actually a lot clearer at 2048, but it's still got strange effects.
http://i153.photobucket.com/albums/s204/tea_monster/torch5_normals.png

mLink
02-02-2010, 02:19 PM
Hey Jogshy, I'm trying to use a .ctm file for my high res model in xnormal, but it doesn't show up as one of the supported formats. Did you take out the support for it?

jogshy
02-02-2010, 03:05 PM
Hey Jogshy, I'm trying to use a .ctm file for my high res model in xnormal, but it doesn't show up as one of the supported formats. Did you take out the support for it?
OpenCTM only works on x86 mode, not x64.
Also sure you're using the Beta 2, because the Beta 1 had a problem finding the the openctm.dll

@Tea Monster: Are you using cages? You should
If you used the lowpoly as basis for the HP's subdivision you could use the MatchUV feature.

Also an advice about your UV layout: keep some space near borders free for the dilation filter.... Btw, it seems the UVs on the bottom go behind the positive range?

mLink
02-02-2010, 03:15 PM
Thanks, that did the trick. For some reason it didn't occur to me that it could have to do with x64. It's nice being able to use such small files. :poly121:

throttlekitty
02-02-2010, 03:38 PM
jogshy, I just wanted to thank you. I spent a while reading around yesterday, your support for xN is top notch!

Tea Monster
02-03-2010, 04:45 PM
Thanks for the help. I adjusted the cage, broke the bulb out as a floating object and all is well now. Thanks again!

I got the errors on the bottom when I calculated the distance of the raycasting. When I set it to default, it worked fine.

Thanks again for this wonderful software!

bugo
02-05-2010, 05:49 PM
Hey Jogshy, any updates for the 4.0?

jogshy
02-06-2010, 02:58 AM
Hey Jogshy, any updates for the 4.0?
Yep, soon.... but currently I'm very occupied playing with the 3.17.
Optix, OpenCL, OpenGL 3.2 and DX11 are distracting me too much ! :poly136:

Unleashed
02-07-2010, 06:40 PM
Im getting a number of cases where the occlusion renders out pure white or parts of a mesh are just rendered out white, using 3.17.0.41257. Normalmaps are fine. Ive not had this before 3.17, would this be due to the polypaint info or something? Im not exactly sure how to clear that information from a tool in zb, otherwise I would stick with 3.16 :/

jogshy
02-08-2010, 10:31 AM
Im getting a number of cases where the occlusion renders out pure white or parts of a mesh are just rendered out white, using 3.17.0.41257. Normalmaps are fine. Ive not had this before 3.17, would this be due to the polypaint info or something? Im not exactly sure how to clear that information from a tool in zb, otherwise I would stick with 3.16 :/
Play with the "Ignore per-vertex colors" option in the corresponding highpoly mesh's slot.

If a mesh has vertex colors exported and you don't check that option the AO will use the vertexColor.r component ( which is the same the Simple AO tool uses ). Checking the "Ignore per-vertex colors" forces xNormal to re-compute the AO using the software path.

4stringdj
02-10-2010, 08:10 AM
Hi,

I've got a problem with xNormal. I was using it yesterday (9th Feb) and it was working fine, I've gone to use it today and I keep getting an "expired" error and the program wont. (The filter in Photoshop also doesnt work) Ive tried reinstalling the program and this also doesnt work. Im using version 3.16.13 and I'm unable to download the new version as the links dont seem to be working. Can anyone send me the new version or help me fix the current version.

Thanks in advance

jogshy
02-11-2010, 12:03 PM
I've got a problem with xNormal. I was using it yesterday (9th Feb) and it was working fine, I've gone to use it today and I keep getting an "expired" error and the program wont. (The filter in Photoshop also doesnt work)
Yep, sorry. There was an error in the digital certificate and the computer's date. Workaround: alter the date of the computer.
The 3.16.13 is affected also but shouldn't produce the error until June 13.

The current 3.17b3 has that bug fixed.

Ben Apuna
02-12-2010, 03:34 AM
Hi jogshy (http://boards.polycount.net/member.php?u=16235),

I've run into a few potential bugs with xNormal 3.17 Beta 3 - 3.17.0.36069 x86.

The Optix renderer is FAST! :D Unfortunately it doesn't seem to obey the Max frontal or rear ray distance settings. It doesn't seem to cast any rear rays at all either.

Am I supposed to use a cage with the Optix renderer?

Here's a comparison:

http://i583.photobucket.com/albums/ss273/bapuna/optix_vs_standard_normals.jpg

I tried to use the Optix renderer to render a Normal and a Ambient Occlusion map at the same time by leaving them both checked "On" in the Baking options, however after clicking the Generate Maps button I got this error:

http://i583.photobucket.com/albums/ss273/bapuna/xNormal_3170b3_error_01.png

Then I unchecked Normal Map in the baking options, thinking that the Optix renderer might only be able to do one map at a time. Once I clicked the Generate Maps button I got this error:

http://i583.photobucket.com/albums/ss273/bapuna/xNormal_3170b3_error_02.png

Then my screen went black and came back on about a second later. Then Windows gave me this error:

http://i583.photobucket.com/albums/ss273/bapuna/xNormal_3170b3_error_03.png

At this point xNormal had to be shut down with the task manager, this also seemed to crash Modo which I had running at the same time.

Here's some of my system info, maybe it will help:

Windows Vista Ultimate 64bit SP2
Intel Core 2 Quad Q6600
8 GB system memory
GeForce 9600 GT 512 MB Ram
Driver version 195.62

Not related to those problems I get this error when I start up the x64 version of xNormal 3.17 Beta 3 - 3.17.0.36623 x64:

http://i583.photobucket.com/albums/ss273/bapuna/xNormal_3170b3_error_04.png

After I click "Ok" xNormal appears to startup and function just fine. I had the same error pop up with 3.17.0 Beta 2 but not with 3.16.12. The "cudart.dll" exists in both the x64 and x86 folders so I don't know what's happening there...

Anyway thanks for your support and development of xNormal :)

jogshy
02-12-2010, 12:50 PM
@Ben Apuna: I've just uploaded the beta3b solving some of the problems with the Optix renderer that you described. Pls, reboot the computer after installing the Beta 3b so the registry settings are updated correctly.

The "already mapped" problem that pops when you try to render two maps in one pass seems to be a NVIDIA bug though.

MightyPea
02-12-2010, 05:07 PM
Exciting developments, Jogshy. Will the way you develop allow you to easily carry all of this work into Xn4?
I'm still very excited about the workflow enhancements that 4 will bring, and very glad you've decided to keep working on it!

Ben Apuna
02-12-2010, 05:48 PM
That's awesome Jogshy, thanks for the fast fixes :) I'll get the newest version later tonight to test out.

jogshy
02-12-2010, 06:08 PM
Exciting developments, Jogshy. Will the way you develop allow you to easily carry all of this work into Xn4?
Well, initially I'm gonna use the CPU for all in xn4... and I'll incorporate all the GPGPU things once its basic structure is more or less stable ( with the expection of the GPU AO which will be present in the Alpha 1, yes or yes! )

xn4 is currently a bit halted because I'm waiting for a more stable LLVM version(for the programable shaders) and better drivers in linux.
I had also to re-design its SDK two times... but I think now it's fine!

East
02-13-2010, 06:46 AM
Santy, did you stop taking donations? I can't see any PayPal donation button on the website any more, but you do still mention it in the FAQ:

Q: How much xNormal costs?

A: Absolutely nothing. It's free for any use, including commercial one. No price and no fees at all. If you like it, please, consider to make a donation to the help us or mention xNormal in your project.

jogshy
02-13-2010, 11:51 AM
Santy, did you stop taking donations?
Yep. Got enough to renew the web hosting 5 years and to get a MacMini, so I'm fine by the moment. Thx everybody! :poly121:

waedoe
02-17-2010, 06:53 PM
cage vs no cage, im getting waves on my LP surface, so i went to no cage, and now im hitting a seam. I have all the uvw split by smooth groups and it is seam less with a cage just has wavy lines. but with out a cage it renders nicely with no waves but has seams why is this?

CAGE:
http://i45.tinypic.com/2eyewj4.jpg

NO CAGE:

http://i49.tinypic.com/2cxix75.jpg

jogshy
02-17-2010, 10:24 PM
cage vs no cage, im getting waves on my LP surface,why is this?

Because the cage does not only control the ray distance but also the ray direction. See this:

http://www.poopinmymouth.com/tutorial/normal_workflow_2.htm

See the cylinder.

ironbearxl
02-18-2010, 07:33 PM
Jogshy, does installing Cuda 2.3 make any difference when using the Optix render?

jogshy
02-19-2010, 12:22 AM
Jogshy, does installing Cuda 2.3 make any difference when using the Optix render?
Nope, I install all the required DLLs automatically... and, if, for example, you install CUDA 3.0 you shouldn't notice a significant improvement because the renderer is compiled offline using CUDA 2.3 so no optimizations could be applied just updating the CUDA runtime ( but perhaps the CPU-GPU transfers through the PCI express )

Remember you'll need the 195.62 drivers because the new ones don't work properly ( almost for Windows 7 ). For WinXP/Vista I have no idea :poly136:

Also remember you'll need the Beta 3b which solves a critical BSOD bug and disables the 5s watchdog properly for CUDA.

Oh... and you cannot render two consecutive maps... an "already mapped" error will pop ( I think it's an NVIDIA bug or I'm too blind to find my error ).

I was trying to implement the OpenCL version... but, unfortunately, the ATI OpenCL/OpenGL 3.2 implementation is still too immature to work... so I think I'll just postpone it until Q2 or 3.

Krazy8
02-19-2010, 12:30 AM
Hey guys I was wondering if you guys knew what my problem was with this weird artifacing im getting on my Normal and AO maps. I can't figure it out and I need to get this piece done! If you could please help I would be in your debt!!

Thank you!

http://i4.photobucket.com/albums/y136/KrazyGnome84/ACR_occlusion700.jpg
http://i4.photobucket.com/albums/y136/KrazyGnome84/ACR_normals700.jpg

jogshy
02-19-2010, 12:36 AM
Hey guys I was wondering if you guys knew what my problem was with this weird artifacing im getting on my Normal and AO maps.
Need more info.
What artifacts are you referring to?
Are you using cages? Is the cage covering the highpoly mesh completely? Post all your settings, pls!

Krazy8
02-19-2010, 12:44 PM
I was using the ray distance. I used the caculator to find the distance but it is still warping some of the normals and I can't figure out why. It also shows like a wrinkled effect on some parts.

http://i4.photobucket.com/albums/y136/KrazyGnome84/highpolyrender.jpg
http://i4.photobucket.com/albums/y136/KrazyGnome84/acrwireTRIcount.jpg

Tea Monster
02-19-2010, 05:06 PM
Hi, a simple one this. My apologies, but I'm new to normal baking.

I've got a machine gun bullet box I'm doing. I've baked a high-poly bullet to a my LP one. I'm getting strange ribbed artifacts from the LP. What's the best way to get rid of these?

One thing I did do is to 'cheat' and I went into one of the channels of the map in Photoshop and put in a solid fill from the top to the bottom of the bullet. Is this 'kosher' or will it all end in tears?

cage - lp
http://i153.photobucket.com/albums/s204/tea_monster/cage-1.jpg

These are the two normal maps. The 'ribbed' one and the one I fixed manually.
http://i153.photobucket.com/albums/s204/tea_monster/bulletsnorm.jpg

East
02-19-2010, 08:34 PM
@Tea monster, Rebake with the low polygon's Smooth normals setting set to Average normals in xNormal (in the Low definition meshes tab) and see if that fixes it.

I get these issues if I've mistakenly exported my low poly mesh with hard edges.

jogshy
02-19-2010, 10:04 PM
I was using the ray distance.
Try to setup a cage and sure it covers completely the highpoly model.



I've got a machine gun bullet box I'm doing. I've baked a high-poly bullet to a my LP one. I'm getting strange ribbed artifacts from the LP. What's the best way to get rid of these?

What East said: try the "Average vertex normals" and see if that helps.
If not probably it's something related to the exported normals. I can see the face normals in that viewport but not the vertex ones!

Tea Monster
02-21-2010, 05:17 PM
Thanks, the normals did the trick.

I'm still not quite getting the hang of the ray calculator though. I followed the directions and I still get 'drop outs'. Any ideas on that?

Thanks again for all your help.

jogshy
02-22-2010, 12:48 PM
I'm still not quite getting the hang of the ray calculator though.
Use cages, the uniform ray distances only work for very simple objects really.

Nexinumbra
02-23-2010, 12:33 PM
I am getting a similar error message to the one Ben Apuna was getting. I have verified that I am using the correct Nvidia drivers and that I've restarted enough times for the registry settings in xNormal to be written. The error message I get is:


Memory allocation failed (Details: Function "rtContextLaunch2D"
caught exception: Encountered a CUDA error:
cuMemAlloc(&m_devicePtr, range_cast<unsigned int>(size)) returned
(2): Out of memory [7733306])

I've tried changing various settings in xNormal and none work. I'm 100% sure that I'm only trying to bake one map at a time because if I uncheck the one I am trying to do the "generate" button goes grey.

This is with the latest xNormal beta 3 that is on the site.

jogshy
02-23-2010, 10:23 PM
The error message I get is:


Memory allocation failed (Details: Function "rtContextLaunch2D"
caught exception: Encountered a CUDA error:
cuMemAlloc(&m_devicePtr, range_cast<unsigned int>(size)) returned
(2): Out of memory [7733306])I've tried changing various settings in xNormal and none work. I'm 100% sure that I'm only trying to bake one map at a time because if I uncheck the one I am trying to do the "generate" button goes grey.

This is with the latest xNormal beta 3 that is on the site.

Sure you use the Beta 3b ( not the Beta 3 ) or you'll have some severe problems... ( /whistle whistle BSOD ) :poly136:

What ForceWare dirvers are you using? Seems Optix runs well in Windows 7 only with the FW 195.62 . The 196.21/192.34b are broken apparently.... I'm not sure about XP or Vista.

Well... that or your mesh does really need more VRAM :)

Btw, I think NVIDIA gonna release a new version of Optix this Friday so perhaps I could post a new release soon

Nexinumbra
02-24-2010, 12:09 PM
Sure you use the Beta 3b ( not the Beta 3 ) or you'll have some severe problems... ( /whistle whistle BSOD ) :poly136:

What ForceWare dirvers are you using? Seems Optix runs well in Windows 7 only with the FW 195.62 . The 196.21/192.34b are broken apparently.... I'm not sure about XP or Vista.

Well... that or your mesh does really need more VRAM :)

Btw, I think NVIDIA gonna release a new version of Optix this Friday so perhaps I could post a new release soon ( including unbiased ray tracing in the 3D viewer also ).

As always, thank you for the speedy reply. :)

My Forceware drivers are 195.62, as instructed on your website. The installer that I used is the latest from your website named "xnormal_3.17.0_beta_3b_installer.exe". I am in fact running on Windows 7 x64 and I have tried with both the 64bit version and the 32bit version of xNormal, just to rule out that I wasn't using the "wrong" one.

The video card I'm using is an Nvidia GeForce GTX 275 with 896mb of RAM on a system with 8gb of ram. While not the highest it could go, I can't imagine that memory is really the problem. The high poly mesh I'm trying to bake is only 760mb as an obj. I will experiment with the new OpenCTM format you mention on your site just in case.

Again, thank you for your help and assistance to the community. :)

jogshy
02-24-2010, 12:41 PM
My Forceware drivers are 195.62, as instructed on your website. The installer that I used is the latest from your website named "xnormal_3.17.0_beta_3b_installer.exe". I am in fact running on Windows 7 x64 and I have tried with both the 64bit version and the 32bit version of xNormal, just to rule out that I wasn't using the "wrong" one.

It's correct then.


The video card I'm using is an Nvidia GeForce GTX 275 with 896mb of RAM on a system with 8gb of ram. While not the highest it could go, I can't imagine that memory is really the problem. The high poly mesh I'm trying to bake is only 760mb as an obj.
Question: can you render the Smiley example's AO ( 2k x 2k, tile size 512 ) using the Optix renderer? If you get that out of memory error then it's a driver's problem ( well, or beta problem ).

If the smiley example renders ok then it's a real out of memory error... so you could try to subdivide a bit less the highpoly mesh and try again. You could also try to reduce the tile size to 256 and see what happens.

If nothing solves it then I'm afraid you need to wait for the next release which should fix some bugs.


I will experiment with the new OpenCTM format you mention on your site just in case.
Nope. The OpenCTM just compresses the disk space,. The mesh will occupy the same in RAM/VRAM once it's uncompressed.

Nexinumbra
02-24-2010, 01:03 PM
It's correct then.

Question: can you render the Smiley example's AO ( 2k x 2k, tile size 512 ) using the Optix renderer? If you get that out of memory error then it's a driver's problem ( well, or beta problem ).

If the smiley example renders ok then it's a real out of memory error... so you could try to subdivide a bit less the highpoly mesh and try again. You could also try to reduce the tile size to 256 and see what happens.

I was in fact able to render the Smiley mesh at your recommended settings so I guess it is a memory problem. I will try lowering the HP mesh subd levels but the Zbrush sculpting I did has very fine details that I am sure will get lost if I lower the level. I'll experiment some with Decimation Master to see if I can come up with something that actually works. For now, the tried and true slow way of baking still works with my high poly mesh so I will keep using that. :)

The speed of Optix that you have is extremely impressive for sure. Very awesome addition!

Thanks again.

jogshy
02-24-2010, 03:03 PM
Btw, nex, there is an option called "Show stats" in the Optix renderer's options. Enter the plugin-manager and press the "configure" button.
I put a bar with the memory used, so you can see how much VRAM is free for your model.... but you need to render a map successfully to see it.

Krazy8
02-25-2010, 10:41 AM
When using cages do you do it in xnormal or can you do it in like Max and then export it then import it into xnormal??

Thanks

jogshy
02-25-2010, 12:14 PM
When using cages do you do it in xnormal or can you do it in like Max and then export it then import it into xnormal??
Thanks
You have three options:

1. Use the xNormal built-in cage editor ( enter the viewer 3D, edit the cage and press the Save meshes button ).

or

2. Place a Projection modifier in 3dsmax and save as .SBM with the "Export cage" enabled.

or

3. Use an external cage file ( like a .OBJ ).

waterbear1224
03-01-2010, 05:17 PM
Hi All,

I'm hoping for some help with xnormal. I have Zbush 3.5 and Xnormal 3.17.0 beta 3b


I have a mesh in zbrush w/ 4 subtools. (The meshes were created from one low poly mesh which was create in maya 09)

All meshes were imported with mesh scaling set to 100

Two of those subtools have produced normals maps w/o any issue in xnormal. However, the other 2 are just producing "blobs" (see attached pictures). It's like xnormal isn't even recognizing the UVing of the mesh which was done in Maya before zbrushing.

I have examples here: http://sarahdwip.blogspot.com/2010/03/xnormal-hates-me.html


Thanks for any help!
Sarah

jogshy
03-01-2010, 07:20 PM
Hello, water! Welcome to polycount!

About the UV problems:

1. Sure your UVs do NOT overlap. If you need to work with multiple UV sets then you must separate each mesh by material and export each part independently.
One mesh = one texture.

2. Seems some rays are failing to hit the highpoly model. You can confirm this rendering a "Wireframe and ray fails map". If you see a lot of red pixels then the rays are failing.
Have you setup a cage? Is the cage covering completely the highpoly mesh?

3. Before exporting in Maya, I suggest you to perform a Triangulate + Freeze transformations. Then, export as .SBM

4. Those "blobs" are probly the "Edge padding". xNormal dilates the normal map texels to avoid problems with mipmapping. It's a good thing and completely normal.

Clockwork
03-02-2010, 07:32 AM
I've found on my system 2 million is about the max I can work with in Modo, does xnormal handle high poly meshes better, would I be able to import higher than 2 million there?

Grfx
03-02-2010, 08:33 AM
yes

waterbear1224
03-02-2010, 11:50 AM
About the UV problems:

1. Sure your UVs do NOT overlap. If you need to work with multiple UV sets then you must separate each mesh by material and export each part independently.
One mesh = one texture.

2. Seems some rays are failing to hit the highpoly model. You can confirm this rendering a "Wireframe and ray fails map". If you see a lot of red pixels then the rays are failing.
Have you setup a cage? Is the cage covering completely the highpoly mesh?

3. Before exporting in Maya, I suggest you to perform a Triangulate + Freeze transformations. Then, export as .SBM


Thanks for the help. I'm confused by a few things

1) rendering a "Wireframe and ray fails map" - I've never heard of this should this be done in xnormal, zbrush, or maya?

2) The Cage - I've heard about using a cage before, but I've never used in in the past (however, I've only made 2 models w/ xnormals help in the past). Are there any tutorials out there about setting up a cage?

3) .SBM - I'm using .obj. Does .sbm work basically the same way? I'm new and have just never heard that that extension before

Thanks again!
Sarah

jogshy
03-02-2010, 01:26 PM
1) rendering a "Wireframe and ray fails map" - I've never heard of this should this be done in xnormal, zbrush, or maya?

In xNormal.


2) The Cage - I've heard about using a cage before, but I've never used in in the past (however, I've only made 2 models w/ xnormals help in the past). Are there any tutorials out there about setting up a cage?

The cages allow you to specify a per-face ray distance visually. The constant uniform ray distances are not visual and, as their name indicates, it's "constant" so the same ray distance will be applied to the whole mesh.

Usually, complex or organic models require a cage to limit correctly the rays, because specifying the same distance for the whole mesh will lead to incorrect ray inter-penetration due to a excesive distance used or to ray misses if it's too short.

See the
http://www.xnormal.net/Tutorials.aspx
Ray distance measurement method 2A: xNormal built-in cage editor
Ray distance measurement method 2B: External cages
Ray distance measurement method 3: 3DSMAX 9 .SBM exporter

and

http://www.poopinmymouth.com/tutorial/normal_workflow.htm

tutorials.

To use the cage is very easy really: just extrude it/move vertices until they cover completely the highpoly model.


3) .SBM - I'm using .obj. Does .sbm work basically the same way? I'm new and have just never heard that that extension before

It's the xNormal's native format ( SBM= simple binary mesh ).
xNormal comes with exporters/importers for 3dsmax and Maya.
The SBM has lots of advantages vs the .OBJ format ( loads faster, uses less RAM, can include vcolors/cage data, has improved vertex normals/smoothing groups accuracy, etc... )

I hope it helps.

jogshy
03-02-2010, 08:06 PM
Oh, nice... the new FW 196.75 seems to fry the GPUs!
http://www.incgamers.com/News/21293/nvidia-19675-kills-video-cards
http://www.brightsideofnews.com/news/2010/3/4/nvidia-retracts-whql-certified-gpu-killing-drivers.aspx

The 196.34/196.21 breaks Optix...

The 195.62 are old but seem to work ok.

ArYeS
03-05-2010, 10:15 AM
I'm having problems using Dilation filter for PS.. I just can't get it to work.

I wasn't able to find details about where should I put mask and which layer should be selected for filter to work.

Help would be appriciated

jogshy
03-05-2010, 12:22 PM
I'm having problems using Dilation filter for PS.. I just can't get it to work.

I wasn't able to find details about where should I put mask and which layer should be selected for filter to work.

Help would be appriciated
Two methods:

1. Work with a transparent background. Perform the dilation.
2. Flatten the image. Go to channels. Make RGB+Alpha visible. Select RGB+Alpha. Perform dilation. Note: If your background is not transparent, you must flatten the image or you won't be able to select the RGB+Alpha.

The alpha channel controls which pixels will be dilated: alpha 0 means dilation, alpha >0 means no dilation.... so you'll need always RGB+Alpha selected and visible.

BigErn
03-07-2010, 03:19 PM
Hey jogshy (http://boards.polycount.net/member.php?u=16235), I`m having trouble working out how to even use the .ctm format? Maybe its just me, but can you explain how to even load them? They dont appear in the file formats? I have 3.16.12 installed, and just installed 3.17.0 Beta 3b without any uninstalling the old one? :poly122:

jogshy
03-07-2010, 09:19 PM
Hey jogshy (http://boards.polycount.net/member.php?u=16235), I`m having trouble working out how to even use the .ctm format? Maybe its just me, but can you explain how to even load them? They dont appear in the file formats? I have 3.16.12 installed, and just installed 3.17.0 Beta 3b without any uninstalling the old one? :poly122:
OpenCTM is only available in x86 mode. The OpenCTM author does not provide a library for x64 and I have no idea about how to build it using the source codes :poly136:

BigErn
03-08-2010, 03:06 AM
Aaaah, Thank you! I was using the x64, so explains it eh!

So.. I gave it a go in x86 with no luck...

Windows 7
xnormal_3.17.0_beta_3b_installer


I uninstalled all older versions, even reverted my drivers back to the latest good one, 195.62.

Any ideas?

jogshy
03-08-2010, 01:00 PM
I uninstalled all older versions, even reverted my drivers back to the latest good one, 195.62.


The drivers should not affect the OpenCTM mesh importer... just the Optix renderer and the DX9/Dx10/OpenGL 3D viewports.


Any ideas?
Can you see a file called [xN installation path]\x86\plugins\MeshImporter_CTM.dll ? It should be there.

Enter xNormal and go to the plugin manager->Mesh importers. Search for the OpenCTM Mesh Importer.

If you can't find it, uninstall xNormal and erase completely the install folder. Re-install xNormal 3.17.0 b3b and try again.

BigErn
03-08-2010, 02:30 PM
Thanks again jogshy! very strange, it is working now! I have not done anything since this morning when it was not available in the list, and now it appears! I had a .ctm file which I couldnt see, now I can :) Many thanks for sticking with me..... heh

ArYeS
03-09-2010, 03:37 PM
Thanks for your help jogshy, dialation works like charm now :)

EarthQuake
03-10-2010, 09:28 PM
So i've been meaning to bring this up for a while. I'de like to open the discussion back up on averaging the cage normals, as a feature got implemented(which was cool) but it is a much much slower way of doing the same thing in max or maya.

So first off, lets go over what it takes to get an "averaged" projection cage in maya.

you need to:
1. load the 3d viewer
2. turn on the cage editing tools
3. select all of the verts
4. weld all verts
5. expand the cage as you normally would
6. save out your mesh as .sbm(or whichever xnormal format it is, i dont rememeber)
7. make sure XN is loading the correct mesh
.....
8. repeat process any time you change your mesh =)

In max:
1. Set up your RTT, default settings with give you a averaged projection cage. To toggle methods, simply click "use offset" in the RTT options, essentially a one-click workflow

In maya:
1. Set up your transfer maps, by default your settings for "match using" should be set to "geometry normals"(average projection). To toggle, simply set to "surface normals", again another one-click workflow.

So what this all boils down to, is a very complex workflow in xnormal, that A. most users do not understand, B. is excessively complicated and C. Needs to be entirely redone every time even a small mesh change is made.

Most models i do do not require a cage, i could do my meshes a little differently, and rely more on the cage to fix various issues, but i like to rely on the placement of geometry, and smart planing to avoid issues like skewed and intersecting rays. But if i want a nice seamless bake, i'm forced to use this complicated process, when all i really should have to do is click a box, or select from a dropdown in the lowpoly tab to choose weather i want to use the exporter normals, or averaged normals for my projection. And again, the issue of needing to redo the entire process is a HUGE detraction. I think there are a lot of people that do not rely on setting up a cage for every mesh, and requiring them to do so creates a big disadvantage for the XN workflow.

This issue is so important, that i personally have stopped using XN for pretty much anything but generating AO, and that is really sad because XN is a great tool and you know how much i support all of the work that you've done. This whole matter has a lot of people coming to the conclusion that using XN for anything but a mesh that has entirely smooth normals is just not a viable solution.

rasmus
03-11-2010, 12:30 AM
I'm one of those guys - never use XNormal for any hard-surface work, and that's a shame. Both because of what EQ says and because I've had the "Use Imported" smoothing settings ignored one too many times (a bug that may or may not be fixed by now). If it was as lovely to use when it comes to hard-surface stuff as it is with single smoothing group models, one could just fire off two sets of bakes with that single checkbox on or off, then combine the results in PS for perfect hard-surface goodness. Alas...

jogshy
03-11-2010, 12:05 PM
1. load the 3d viewer
2. turn on the cage editing tools
3. select all of the verts
4. weld all verts

The latest versions use welding by default.


7. make sure XN is loading the correct mesh
Just ask "yes" to the auto-assign dialog.


8. repeat process any time you change your mesh =)
Yep, that's a problem. I perhaps should integrate the xN renderer into Maya.


I think there are a lot of people that do not rely on setting up a cage for every mesh, and requiring them to do so creates a big disadvantage for the XN workflow.
To setup a cage can be as easy as: enter the 3D viewer. Extrude the cage with the "global cage extrussion" until it covers the highpoly. Save meshes. For simple objects don't need to move the vertices.
For 3dsmax you should be using already the projection modifier so it won't be a problem.

And well... with luck, everybody will use DX11's tessellation so you can use Match UVs (dual parameterization) to skip the cage setup and ray distances.

EarthQuake
03-11-2010, 12:08 PM
Even if it is improved in the latest version, you're still missing the point. Its it still quite a bit easier to switch methods in the other main baking apps, which puts XN at a disadvantage. Setting up a cage is a really slow process in XN no matter how you look at it. Again the HUGELY important aspect that, whenever you make even a slight change to your mesh, you have to redo the entire process. This results in a very slow workflow, when all i really need is a checkbox in the lowpoly to set which method to use, with an offset. When i'm making a change, its automatically updated and i dont have to worry about anything, which would be very fast.

Whats this about the DX11 stuff?

jogshy
03-11-2010, 12:13 PM
Whats this about the DX11 stuff?
If your highpoly mesh is just the subdivided lowpoly mesh + sculpting, you don't need cages. Just mark the MatchUV and you'll get a perfect normal map/AO without having to setup the cage/ray distances.

Your DX11 engine can use then the lowpoly mesh, subdivide it using the hull/domain shader/vertex displacement with a direction/normal map to reconstruct the highpoly model in a very easy way.

But you'll need DX11. DX10/DX9 can use instanced tessellation but it's not optimal.

So... DX11 = no need for cages/ray distances.

However there's a problem with this method: you can't retopo, just subdivide... so forget about using this for non-organic meshes. If you subdivide a box... you will get a ... nice sphere :poly124:


well all i really need is a checkbox in the lowpoly to set which method to use, with an offset
Sorry, I don't understand. Do you mean a method like Maya's?
Select face normals/smooth normals and a ray distance? You can do that in xNormal too just assigning "Smooth normals"/"Harden normals" and specifying the constant ray distances manually.... although I bet Maya is using some black magic to smooth the hard edges a bit.

EarthQuake
03-11-2010, 12:25 PM
Yeah, but that only accounts for a small fraction of character work, you'll virtually never use that for environment/hard surface work, and only a very small number of times will you end up with the exact same cage as your low. This is a situation that is probably about 1% of all models that need baking.

Yep, that's a problem. I perhaps should integrate the xN renderer into Maya.


While this would be very cool, that doesnt actually fix the problem, it simply *moves* the problem. =) Anyone not using maya still has the same issue, i think relying on app-specific fixes are a bad idea, since XN can be a great universal tool.

Really again, as a user there shouldn't be any need to do anything but simply import your OBJ, and select the projection method. Am i missing something here? I dont know how XN is structured and if that is a really super difficult thing to change or what, so let me know. Having extra tools to go beyond that is all well and good, but the basic functionality is the most important aspect.

EarthQuake
03-11-2010, 01:25 PM
Sorry, I don't understand. Do you mean a method like Maya's?
Select face normals/smooth normals and a ray distance? You can do that in xNormal too just assigning "Smooth normals"/"Harden normals" and specifying the constant ray distances manually.... although I bet Maya is using some black magic to smooth the hard edges a bit.

What i want is a way to average JUST the projection, not the entire mesh. Averaging the smoothing on the entire mesh is really bad, as it causes smoothing errors etc. But in max/maya, the projection is averaged so you can have your lowpoly set up with hard edges, but not get the missed detail on said edges because of the spliting rays. Chaning the normals of the lowpoly itself isn't an option, it must be only on the "projection mesh".

Now you can do this by manually setting up a cage, but its a very slow process. What you want here is essentially an "invisible"(to the user) cage that is generated automatically using the offset distances and does not require anything more than turning the feature on(a drop down to select average normals, or use exported normals for *only* the projection). Sure you can go in and set up a custom cage, but the good majority of assets do not need a custom cage, and again the problem with redoing the entire process for even simple changes.

This is basically what maya does, when you add a mesh to your projection, it automatically creates a cage for you based on an input value, in maya's case its a %, for all intents and purposes, this is the exact same thing to the user as an offset distance. You set the projection method(either averaged or using the mesh's normals) and you're done. After the bake finishes, the "invisble mesh" is deleted, and another is created anytime you adjust the offset distance. There is an option to save the invisible "envelope/cage" to tweak as you see fit, but it is not a requirement.

jogshy
03-11-2010, 01:53 PM
What i want is a way to average JUST the projection, not the entire mesh.
Ok, I understand now. Thanks for the in-depth explanation.

The latest xN version use welding by default. You just need to perform a very similar thing to you're doing in Maya: enter the 3D viewer, extrude the cage with the "global cage extrussion" slider until it covers the highpoly model, hit save meshes and answer "yes" to the auto-assignment dialog.
This can take some time, but consider Maya has already all the meshes loaded and it's displaying a 3D viewport... and xNormal needs to load all from zero.

I think this could make the process more agile:

1. I could export some existing Maya envelopes as cages when saving to a .SBM file. I've seen the transfer maps copies the object and extrudes it generating an evelop called [objectName]+shape1Envelope. Perhaps I could try to find those envelopes automatically to save them to the SBM.
Other option is to create a script that could act like the 3dsmax's Projection modifier.

2. I could weld/break the cage a bit faster: if there are no vertices selected, I can pop a dialog asking to perform the break/weld over the complete cage.... so you won't need to select all the vertices manually.

Sorry, I'm afraid I cannot do anything more.

ironbearxl
03-11-2010, 02:34 PM
Hi Jogshy,

I'm using the nvidia driver 196.21 on Win7 x64 and xNormal 3.16.13. Will I have to upgrade to the latest xNormal for the cage average-weld mode?

jogshy
03-11-2010, 02:37 PM
Hi Jogshy,

I'm using the nvidia driver 196.21 on Win7 x64 and xNormal 3.16.13. Will I have to upgrade to the latest xNormal for the cage average-weld mode?
I'm not sure. I think the 3.16.13 uses averaged cages by default.
Do a simple test: export a hard-edged mesh into a SBM file with the "Export cage" UNchecked ( well, or from Maya where that option is not present... or use a .OBJ ). Enter the xNormal 3D viewer and extrude the cage. See if the cage breaks.

Fuse
03-11-2010, 04:49 PM
Ok, I understand now. Thanks for the in-depth explanation.

I can add an option to the Maya SBM exporter in order to save the transfer-maps's envelope. I think Maya just adds an "shape1Envelope" suffix to the original mesh so I could search for it automatically. You can save those envelopes without problems, can't you? If not, I could create script to compute the envelopes like the 3dsmax's Projection modifier, so the SBM exporter could use that info to export the file.

I can also add a button to weld the cage without having to select all the vertices.

Allright I could totally be wrong here but I do use Xnormal for my bakes and just ran a few tests. When you specify an envelope in the baking dialogue in maya the envelope that gets created does not have averaged normals but draws from the lowpoly normals. Is it possible then that it only gets averaged during the baking process, if you so specified ?

EQ? any light on this ?

I also tried manually averaging the envelope/cage and importing it into Xnormal but I still got results that did not have averaged cage normals.

The averaged cage can only be done at bake time Max/Maya ? Is it not possible to import an "averaged" cage into Xnormal ?

any help is appreciated

jogshy
03-11-2010, 05:09 PM
The averaged cage can only be done at bake time Max
In max you can use the projection modifier, which is conserved all the time.


The averaged cage can only be done at bake time Maya
I think you can save the transfer maps envelopes for later using some tricks ( ctrl+z, clone, etc )


Is it not possible to import an "averaged" cage into Xnormal ?

Yep, it is:

1. For max: use the projection modifier. Save as SBM with the "Export cage option enabled"

2. For maya: clone your lowpoly mesh. Average normals. Extrude some faces/vertices. Save as .OBJ.
In xNormal, assign the external cage file.

3. In xN, using the cage editor: load your mesh, enter the 3D viewer. Show cage->Global cage extrude until it covers the highpoly mesh. Press "save meshes" and answer "yes" to the auto-assign dialog. You can control if you want the cage broken or averaged selecting some vertices.

But I agree with EC... I must find a method to setup the cages in a more agile way.

Fuse
03-11-2010, 05:25 PM
I think you can save the transfer maps envelopes for later using some tricks ( ctrl+z, clone, etc )

Yeah, that's how I've been preserving the envelopes and importing them into Xnormal, the problem is that despite averaging the normals it still doesnt work properly. Do I have to manually "weld" vertices in the Xnormal editor despite averaging the normals already in Maya?




Yep, it is:

1. For max: use the projection modifier. Save as SBM with the "Export cage option enabled"

2. For maya: clone your lowpoly mesh. Average normals. Extrude some faces/vertices. Save as .OBJ.
In xNormal, assign the external cage file.

3. In xN, using the cage editor: load your mesh, enter the 3D viewer. Show cage->Global cage extrude until it covers the highpoly mesh. Press "save meshes" and answer "yes" to the auto-assign dialog. You can control if you want the cage broken or averaged selecting some vertices.


Again, isn't this a redudant process ? I already modified my envelope/cage to wrap my highpoly and already averaged the normals. My problem is that despite averaging normals on the cage in Maya, when it gets imported into Xnormal, the averaged normals seem to get ignored.. So again, do I have to manually "weld" it all in maya for it to work ? Normals seems to be preserved in the lowpoly, does it not work when importing the external cage ?

EarthQuake
03-11-2010, 06:28 PM
I'll try to test out the maya workflow and see what works for me.

Fuse
03-11-2010, 06:37 PM
Yeah cheers EQ. I might be ways off so forgive me if I some fundamentals escape me. Just wanted some clarification :)

jogshy
03-11-2010, 06:57 PM
I already modified my envelope/cage to wrap my highpoly and already averaged the normals. My problem is that despite averaging normals on the cage in Maya, when it gets imported into Xnormal, the averaged normals seem to get ignored..
Have you enabled the "use cage" option? Can you see your cage correctly imported if you enter the 3D viewer and you show the cage?

If you use cages the lowpoly mesh's normals aren't used to fire rays. Just the directional vector ( cage.pos-mesh.pos ) is taken into consideration. The external cage's vertex normals won't be used.

Fuse
03-11-2010, 09:43 PM
Have you enabled the "use cage" option? Can you see your cage correctly imported if you enter the 3D viewer and you show the cage?

If you use cages the lowpoly mesh's normals aren't used to fire rays. Just the directional vector ( cage.pos-mesh.pos ) is taken into consideration. The external cage's vertex normals won't be used.

Btw... I'm not sure about Maya but Max seems to use vertex extrussion from the pivot point and not averaged normals... it's very curious :poly142:

Ok I think I may have been confused a little before..

So this is how I understand it, please correct me if I am wrong.

1. When you use raydistance(Xnormal)/offset(Max)/surfacenormals(Maya) it just shoots the rays from the positions of lowpoly mesh's normals.

2. A cage is used to shoot the rays in the relative direction of the lowpoly to the cage

So what is this "averaged projection" thing that EQ is talking about ? Do you basically want to use a cage in Xnormal ? I just export mine out of Maya. Is this what you are looking for ?

jogshy
03-11-2010, 10:49 PM
1. When you use raydistance(Xnormal)/offset(Max)/envelope%(Maya) it just shoots the rays from the positions of lowpoly mesh's normals.

Well, I can really tell about xN.
Nope. xN has four methods to fire rays:

1. If you use cages, rays are fired from the cage position following a direction equal to normalize(lowpoly.pos-cage.pos). The vertex normal is not used by rays ( it will be used just to transform to tangent space ).

You can subdivide this into other two: averaged cage or "broken" one. The averaged generates a countinous cage surface(useful for organic models) while the broken is discontinuous(useful for hard-edged meshes).

2. If you use uniform ray distances, rays are fired from the lowpoly.position+(lowpoly.normal*distance) using a direction equal to negate(lowpoly.normal)

3. If you use MatchUVs, you don't need to setup cages and neither to play with ray distances... BUT, your highpoly mesh must be the lowpoly mesh+subdivision+sculpting. DX11 games gonna use this massively with vector/displacement mapping and tessellation.

4. Ray blockers. Like "anti-portals". Rays simply stop when they hit a blocker.

Each method has some pros and cons. Just choose the one that it's better for each case, your pipeline and work method.

Fuse
03-11-2010, 11:27 PM
Hrm very useful information! Thanks for clearing it up for me Jogshy.

In xN how do I control whether an imported external cage is averaged or hard-edged ?

DeadlyFreeze
03-11-2010, 11:47 PM
Is there a way to separate each high poly mesh to render in conjunction with its lowpoly counter part. Right now I'll export each individual low/high mesh and have to hide/unhide pieces as I go and compile each map in PS.

The batch protect doesn't seem to split the high poly meshs, so any intersecting norms pass on to other parts in the render order.

jogshy
03-12-2010, 12:32 PM
In xN how do I control whether an imported external cage is averaged or hard-edged ?
If you use 3dsmax you can put a Projection modifier on the top of the stack and export as .SBM with the "Export cage" option enabled. that will use an averaged cage.

If you use external cages or the xN cage editor, enter the 3D viewer. Enabled show cage->edit cage. Select some vertices(or all) and press "weld" to average it or "break" to deatch the cage faces using hard-edges.

Btw, for the next release I'm gonna solve some problems I detected yesterday playing with the averaging algorithm and to make it a bit easier to use.

LiselottePulva
03-16-2010, 02:36 PM
Great Forum here ! time to start with a question...
For xn4 I'll put an option to render a map for each object.

So any chance to get good results with multi objects at the same time without Photoshop and with less time ?. I've a zbrush file with 20 subtools, and 20 retopoly lowpolys...
I test many things - but everytime i get overlapping object seems.
Any solution for xnormal or a trick in Zbrush to switch between two position to get clean nom / ao maps ?

jogshy
03-16-2010, 08:15 PM
So any chance to get good results with multi objects at the same time without Photoshop and with less time ?
Yep, you'll be able to bake an independent map for each object or to mix them together.

Cadavr
03-17-2010, 03:02 PM
Hello,
Got a problem using Optix renderer xnormal V3.17.0.3
file:///C:/Users/3D-DES%7E1/AppData/Local/Temp/moz-screenshot.pngInvalid context (Details : Function "rtContextLaunch2D" caught exception: Encountered a CUDA error :
cuGLRegisterBufferObject(buffer->getGLId()) returned (3): Not initialized [458802])

Quadrofx1800 on board and 191.87 drivers

MoP
03-17-2010, 03:45 PM
Cadavr: You can't link files from your hard drive, you have to upload it to some sort of hosting service (such as a private FTP if you have one, or a free site like photobucket, dropbox or imageshack).

jogshy
03-17-2010, 11:20 PM
Hello,
Got a problem using Optix renderer xnormal V3.17.0.3
file:///C:/Users/3D-DES%7E1/AppData/Local/Temp/moz-screenshot.pngInvalid context (Details : Function "rtContextLaunch2D" caught exception: Encountered a CUDA error :
cuGLRegisterBufferObject(buffer->getGLId()) returned (3): Not initialized [458802])

Quadrofx1800 on board and 191.87 drivers
You need the 195.62 or the new 197.13 beta. Optix does neither work with the 196.XX.

If you use WinXP and you've only one graphics card, you won't be able to use Optix due to the WinXP "watchdog". With Vista/7 you can.

Harry
03-17-2010, 11:43 PM
i came into this discussion halfway through and might be way off the mark, but i've noticed that no matter what i do in xnormal there are split normals in the cage at UV seams. the exported cage has averaged normals, i tried using exported normals and forcing "smooth normals" in xN - neither seemed to average the UV seams. I think this is part of the same group of problems.
i've tried exporting as like, obj, fbx, and a couple others... but i dont think i've tried SBM yet. Is this more reliable when it comes to loading the correct normals?

I hear you can open the 3d viewer and force a weld on the cage to solve the issue, but as EQ said... every time?

Cadavr
03-18-2010, 02:42 AM
You need the 195.62 or the new 197.13 beta. Optix does neither work with the 196.XX.

If you use WinXP and you've only one graphics card, you won't be able to use Optix due to the WinXP "watchdog". With Vista/7 you can.

Newest drivers for Quadro fx 1800 are 191.87
I have Win7.

sasuki
03-18-2010, 01:11 PM
Hi, im new to Xnormal

im having some problems baking normals,

this image will illustrate my problem, what did i do wrong?

http://i42.tinypic.com/oaso6a.jpg

jogshy
03-18-2010, 02:26 PM
I hear you can open the 3d viewer and force a weld on the cage to solve the issue, but as EQ said... every time?
If you use 3dsmax, use the SBM exporter with the projection modifier.
If not, enter the 3D viewer, adjust the cage and Save meshes... not everytime... just each time you modify the mesh's topology.


Newest drivers for Quadro fx 1800 are 191.87
I have Win7.
I'm afraid then you need to wait until NVIDIA updates the drivers to 197.XX or above. The 191.X does not include the required features for CUDA-OpenGL interop.



http://i42.tinypic.com/oaso6a.jpg
You should tessellate a bit your lowpoly model, beveling those corners.
Other option is to break the cage so hard edges are rendered better.
I'm not sure about ray fails as you don't prive a wireframe and ray fails map and neither the cage setup/distance tapes.

Harry
03-18-2010, 04:29 PM
If you use 3dsmax, use the SBM exporter with the projection modifier.
If not, enter the 3D viewer, adjust the cage and Save meshes... not everytime... just each time you modify the mesh's topology.
I don't mean to be a dick but it's still a bit fiddly to use the 3d editor. Do you think in future versions there can be a tool to do this in the list of source meshes, or somewhere like that?

although i guess with your new interface the mesh will always show so it wont be as much time waiting for the viewer to start

jogshy
03-18-2010, 05:06 PM
I don't mean to be a dick but it's still a bit fiddly to use the 3d editor.
The xn3 UI grow without any control. The 3D viewer was initially designed just to preview to normal maps in a model... but had to be patched.. .and patched... and patched... and patched... and patched again... and again... until it converted into a monster very hard to manage and use.


Do you think in future versions there can be a tool to do this in the list of source meshes, or somewhere like that?
xn4 will include vertex/cage/models manipulators, a tree with the scene objects, etc...

Vrav
03-20-2010, 08:54 PM
Hey Jogshy! Thanks, as always, for continuing development on this tool...

I've finally started using the Optix renderer and it's fantastic. It's very pleasing to have one's maps render so quickly. But I'm wondering... will there be any documentation on the settings for ambient occlusion?

The old tutorial (http://donaldphan.com/tutorials/xnormal/xnormal_occ.html) appears quite dated. With the settings now I can only really fiddle a small amount and either get some sort of AO bake, or a pure white texture. I don't really understand what's going on.

Ged
03-21-2010, 04:08 AM
thanks for the hard work jogshy, still using xn3 alot and looking forward to xn4 :)

jogshy
03-21-2010, 02:19 PM
I've finally started using the Optix renderer and it's fantastic. It's very pleasing to have one's maps render so quickly. But I'm wondering... will there be any documentation on the settings for ambient occlusion?
Well, actually it's an alpha version. A lot of features aren't available yet and it's quite bugged. After the implementation is complete it should work exactly as the CPU-path AO and I could add the final documentation.
To document it in alpha state is a bit labourious because all can change in two days :\


The old tutorial (http://donaldphan.com/tutorials/xnormal/xnormal_occ.html) appears quite dated.

Yep, there are some changes:

1. There is no adaptative sampling now. I removed it because it was causing bad quality. So now it's equivalent to use a very low threshold(like 0.0000001)

2. There is no weighting option. If you use the cosine distribution then will be automatically weighted. If you use the uniform distribution there won't be any weighting.

3. Now you can control the occluded/unoccluded color to adjust the constrast of the AO.

If you're getting a too-white AO:

1. Use the uniform distribution
2. Turn off the attenuation ( == 1.0/0.0/0.0 ).
3. Use a big spread angle ( f.ex: 178 degrees ).
4. Set the occluded color to pure black (rgb 0,0,0) and unoccluded color to pure white (rgb 255,255,255)
5. Turn off the ray distance limitation.

Hatred
03-23-2010, 08:07 AM
I got a litle problem about baking the Base texture:

when im baking from 2 seperate objects it does 2 colores

but when i bake from 2seperate objects and one have a 2 diferent materials i cant bake it into 3 colores is there any chance to bake a colors from seperate materials? its easier in hi poly to just asign a diferent material nor to make a seperate object http://dl.dropbox.com/u/1225475/01.jpg

jogshy
03-23-2010, 09:52 AM
but when i bake from 2seperate objects and one have a 2 diferent materials i cant bake it into 3 colores is there any chance to bake a colors from seperate materials?
xn3 does not support MultiSubObj materials, so you must assign one texture for each mesh file.

xn4 will support MultiSubObj mats.

EarthQuake
03-23-2010, 11:13 AM
what you can do(and i have generally done with XN) is to create a texture with all of your colors on it, UV(just a very quick planar map is all, nothing complicated) your cage mesh, make selections as you normally would to apply the different materials, but just move/scale these to fit into the corresponding uv color grid in your texture. Then just load that texture to your mesh and do a diffuse bake

East
03-26-2010, 03:29 AM
Is there, or will there be, a way to retain the high polygon meshes in memory after a bake is done so it doesn't have to re-load them all after just a few minor tweaks? This would be pretty handy, with a manual way of flushing the memory at the click of a button.

Neox
03-26-2010, 04:20 AM
Is there, or will there be, a way to retain the high polygon meshes in memory after a bake is done so it doesn't have to re-load them all after just a few minor tweaks? This would be pretty handy, with a manual way of flushing the memory at the click of a button.

i totally agree that'd be nice, sometimes you just do very small tweaks and it has to load them all again

Another thing i wondered about is, is there a way to batch render a bunch of models? So i import my lowpoly lets name it low_01.obj, import all highpolies that belong to it, use that as a preset. Load low_02.obj and assign another bunch of models, do that with every part of the lowpoly model and connect it to the belonging highpolies.
Set up low_01.obj to render its stuff to texturename_01.tga, low_02.obj to render into texturename_02.tga and so on, hit render and go out do something else or whatever.

Would be a huge timesaver as i normally never bake a whole object at once and always break them into smaller chunks that don't intersect, pretty much like what exploding would do.

jogshy
03-26-2010, 06:10 AM
Is there, or will there be, a way to retain the high polygon meshes in memory after a bake is done so it doesn't have to re-load them all after just a few minor tweaks? This would be pretty handy, with a manual way of flushing the memory at the click of a button.
Currently that would require too many changes for xn3. Saving all as .SBM should help to load faster.

For xn4 I'm adopting import-> "load/save scene" policy instead.


Another thing i wondered about is, is there a way to batch render a bunch of models?
You can save your settings as multiple XML files ( for example set1.xml, set2.xml, etc... to a folder... for example to G: "myWork" )

Then, from the command line do this:
xNormal.exe g:/myWork/set1.xml g:/myWork/set2.xml g:/myWork/set3.xmlps: it's g: \ myWork, but I cannot put that due to smileys....

sama.van
03-28-2010, 10:04 PM
---------------------------
Error
---------------------------
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
---------------------------
OK
---------------------------



what that... my computer is new and good configuration >_<...

It happened when I when to render a 2nd time my normal map.
Then I need to shut down the program, and launch it again for rendering a second time T_T.

jogshy
03-29-2010, 04:15 PM
what that... my computer is new and good configuration >_<...

It happened when I when to render a 2nd time my normal map.
Then I need to shut down the program, and launch it again for rendering a second time T_T.
Are you using the Default Bucket renderer or which one? Can you post your complete settings, OS and hw, pls?

sama.van
03-29-2010, 09:03 PM
I just loaded a low poly model, a hi poly one trying to rendering a normal map.
Parameter a the default one.
The first time it works but the second time it will create an error!

After that, to create cavity map from Normal map works infinitely, there are no problem.

About the detail of my config :

■Intel® Core™ i7 Processor 860 (Quad /定格2.80GHz/TB時最大3.46GHz/L3 Cache 8MB/HT対応)
■NVIDIA® GeForce® GTX285 搭載 Video Card (1GB / PCI Express2.0)
■4GB Memory (DDR3 SDRAM PC3-10600 / Dual Channel)
■350GB HDD (SATA Ⅱ)
■DVD SUPER MULTIDRIVE 
■Intel® P55 Express CHIPSET ATX Motherboard
■Windows® 7 Home Premium 64bit Pre-Installed

Hatred
03-30-2010, 04:35 AM
xn3 does not support MultiSubObj materials, so you must assign one texture for each mesh file.

xn4 will support MultiSubObj mats.

:) thnx man,

So till x4 ill use: select by material seperate export :) maby little slower but I still like Xn, 2 bad i cant use color bake from maya7 but it seams doesnt fit the normal/ocullusion bakes from Xn :)

jogshy
03-30-2010, 01:05 PM
■Intel® Core™ i7 Processor 860 (Quad /定格2.80GHz/TB時最大3.46GHz/L3 Cache 8MB/HT対応)
■Windows® 7 Home Premium 64bit Pre-Installed

Ok, two more questions:

1. Are you using the 3.16.13 or the 3.17 beta? Are you using the Optix map renderer or the Default Bucket Renderer?

2. Is xNormal or your mesh files placed in a folder with Kanji characters? I have not tested that very well so perhaps it's due to that. Pls, try with ASCII folders to see what happens.

boyluya
03-30-2010, 11:11 PM
Hi guys, I'm new to max and I just want to ask, how am I going to export my mesh into xnormal? I mean what is the right settings and what format? Can you please direct me to a tutorial about it cause I can find any. Thanks!

Carl Brannstrom
03-31-2010, 03:34 AM
I've had a problem with baking normal maps in xnormal recently.

For some reason the generated normal map get waaaay to intense. Does it have something with the ray distance?

How do I fix that?

Baj Singh
03-31-2010, 03:43 AM
Hi guys, I'm new to max and I just want to ask, how am I going to export my mesh into xnormal? I mean what is the right settings and what format? Can you please direct me to a tutorial about it cause I can find any. Thanks!

You can either export your mesh as a .sbm file or (my preferred method) as a .obj.

If your new to xnormal, try this link:

http://www.antonkozlov.com/Tutorials/xNormal.html

jogshy
03-31-2010, 05:35 AM
For some reason the generated normal map get waaaay to intense. Does it have something with the ray distance?
Screenshot and settings, pls?

Carl Brannstrom
03-31-2010, 07:26 AM
I use the default settings - except Maximum frontal ray distance which is set to 2.


http://img151.imageshack.us/img151/504/noermalproblem.jpg

jogshy
03-31-2010, 09:55 AM
http://img151.imageshack.us/img151/504/noermalproblem.jpg[/IMG]
Are you using a tangent-space normal map or an object-space?
What output format are you using?
And what xNormal version are you using, pls?

abernhoff
04-01-2010, 02:49 AM
hi,

I'm attempting to create a standardised art pipeline where my intention is to use Xnormal to bake my normal maps from high resolution meshes created in ZBrush. Xnormal typically works faster, crashes less and produces better results than when baking maps in Maya.

I have recently run into a problem where Xnormal produces a distortion in the normal map which is hard to see on the normal map itself, but shows up when viewing it on the model inside Maya:


http://annika82.squarespace.com/work_images/xnormal_normals.jpg

As you can see there are dark areas appearing on the upper part of the objects, these areas do not appear when baking the normal map inside Maya. I have tried any combination of normal settings for the high and low resolution meshes in Xnormal with no better result. I'm using Xnormal version 3.17.

Carl Brannstrom
04-02-2010, 12:55 AM
Tangent space, .tga in version 3.17.037109.

Somehow I "fixed" this problem. The image I showed earlier was a testbake from a corner piece of a book - I had the whole highpoly book but only a low poly corner. When I tried to bake the whole low poly book, it turned out perfect!

Could the prolbem be that I only baked a only an offsetted piece of the highpoly?

sama.van
04-02-2010, 01:41 AM
I tried this under Maya and with the command dos :

http://www.renderingsystems.com/downloads.php

This is great because with melscript I can render picture in my workspace, and do everything I want. using another set of program out of my with system command..


Does someone know if it exists for xNormal too? library of command DOS for xnormal?

jogshy
04-02-2010, 08:59 AM
Does someone know if it exists for xNormal too? library of command DOS for xnormal?
xNormal includes batch rendering from the console:

1. Open a DOS console.
2. Put this: xNormal.exe -?

But it's currently limited to the simple AO tool and map rendering.

sama.van
04-02-2010, 10:50 AM
1. Open a DOS console.
2. Put this: xNormal.exe -?

Yeah basicaly I need to do that to get the help first :

chdir "C:\Program Files (x86)\Santiago Orgaz\xNormal\3.17.0 Beta 3b\x64"
xNormal.exe -h

haha! I can see you catch me over there :

http://eat3d.com/forum/questions-and-feedback/batch#comment-1009146

Then lets continue the conversation to the source! :D
And thank you for the comments!

abernhoff
04-06-2010, 02:10 AM
Here are some comparison screenshots of the normal maps baked in xnormal and Maya. I'm wondering if anyone else has encountered the same problem and found a way to fix it.

Xnormal doesn't seem to sufficiently compensate for the averaged normals on the low polygon model, which creates shading distortion when the normal map is applied to the model in Maya.

http://annika82.squarespace.com/work_images/xnormal_baked_normals.jpghttp://annika82.squarespace.com/work_images/MAYA_baked_normals.jpg

Normal map comparison:

http://annika82.squarespace.com/work_images/xnormal_baked_nm2.jpg

http://annika82.squarespace.com/work_images/Maya_baked_nm.jpg

Hatred
04-08-2010, 10:48 AM
any chance to bake a base light? for example like on a scene I prepared in maya? or a simple ambient 80%+ light that is above 20%?? it sometimes helps a lot when you mix it a bit with diffuse color.

On the other hand: any chance to setup maya/modo renderer that bakes would match the xNormal bakes? from what i tried those bakes dont work together

jogshy
04-08-2010, 05:39 PM
any chance to bake a base light?
That's one of the new things I wanna add for xn4, yep.
For xn3 it's almost impossible without changing the complete program.


any chance to setup maya/modo renderer that bakes would match the xNormal bakes? from what i tried those bakes dont work together
I don't know about Modo but Maya should work because if you export the models from Maya using the SBM format(with the export tangent basis option enabled) the Maya's tangent basis will be used ( yep, I'm exporting the Maya's vectors directly ).

jogshy
04-09-2010, 07:58 PM
Beta 5 ready:

- Vertex color support for dotXSI files
- Improved AO quality
- Max/Maya 2011 support
- Tons of bugs corrected

wdcstudios
04-11-2010, 08:57 PM
Does xnormal bake vector displacement maps?

jogshy
04-11-2010, 10:32 PM
Does xnormal bake vector displacement maps?
Yep, for both ray tracing and dual parameterization methods.
Floating point precision is also supported using OpenEXR/TIFF FP/Raw/HDR formats.

See the spiked ball example, I used that to perform DX10's tessellation with bended spikes/mushrooms/ears without having to perform Catmull/Loop subdivision.

Pussik
04-15-2010, 02:32 PM
Hi, i'm interested of one thing. In xNormal 3.15 I didn't use CAGE in Low Definition Mesh's options and I only corrected lenght of rays.

In 3.16.12 RC2 if I didn't check CAGE I had bugs on normal map.
Now I installed 3.17.0 beta5 and I'm using this same models and options and if I check CAGE I have bugs (other then previous mentioned), which disappear when I uncheck CAGE.

Anyone know why this happening?

jogshy
04-19-2010, 04:20 PM
Now I installed 3.17.0 beta5 and I'm using this same models and options and if I check CAGE I have bugs (other then previous mentioned), which disappear when I uncheck CAGE.
Have you setup your cage in a way that the highpoly model is completley covered?

Have you rendered a "wireframe and ray fails map" to see is there are rays failing?

Are you using the old 3dsmax max2obj exporter? Are you exporting the meshes as .SBM directly? Have you performed a triangulation + ResetXForm/Freeze transforms before exporting?

Pussik
04-20-2010, 03:54 AM
I didn't touch cage, I didn't performed (on purpose) a triangulation, reserXForm/Freeze transforms.
HP isn;t completly covered.
I didn't renderer a "wireframe and ray fails map".
I am not using export selected from 3ds max 2009 and mudbox 2009.


I don't have a problem with that, just curious why once I should check cage in xNormal, and another time I don't have to.

Gooner442
04-21-2010, 01:51 PM
Hi, could someone please give me a link to some good x-normal tutorials?

Danke!

Martin

jazznazz
04-21-2010, 11:29 PM
Hi everybody, I'm a new xnormal user. Great tool :) I have a quick question - is there a tutorial for generating a Radiosity normal map - how to change the light setup, numper of lights in the scene etc. because now, when I bake RNM it looks like a big AO ?

jogshy
04-22-2010, 02:36 PM
how to change the light setup, numper of lights in the scene etc. because now, when I bake RNM it looks like a big AO ?
Yep, well... the default settings for the RNM perhaps looks a bit dark so you should platy a bit with the contrast parameter.

Number of lights: hopefully ( all it's relative! ) xNormal only supports one light so... :)

Light setup: there is no built-in support in xNormal to preview the RNM maps ( that one of the things in the TODO list )... So you'll need Hammer or other Valve's editor. Sorry, I don't know any other program to preview RNM maps ( perhaps the 8monkeylabs's toolbag? )

On the other hand, I've not tested the RNM maps very much ... perhaps there are some bugs there.

.Murder
04-24-2010, 06:44 AM
My xnormal keeps crashing everytime i try to back an AO map, im trying to get a 1024*1024, my pc is good enough to not crash, core i7, 6gb ram etc, but it jsut keeps crashing my comp, anyone got any ideas?

jogshy
04-26-2010, 03:00 PM
My xnormal keeps crashing everytime i try to back an AO map, im trying to get a 1024*1024, my pc is good enough to not crash, core i7, 6gb ram etc, but it jsut keeps crashing my comp, anyone got any ideas?
Can you render an AO map for the Smiley example without problems?

Pussik
05-09-2010, 08:24 PM
Why in xNormal 3.17 I don't have Antialiasing threshold, Ambient Occlusion adaptive threshold, adaptive interval or enable weighting options? I read about this in tutorial:

http://donaldphan.com/tutorials/xnormal/xnormal_occ.html

jogshy
05-09-2010, 10:01 PM
Why in xNormal 3.17 I don't have Antialiasing threshold, Ambient Occlusion adaptive threshold, adaptive interval or enable weighting options? I read about this in tutorial:

http://donaldphan.com/tutorials/xnormal/xnormal_occ.html
The adaptive option was causing bad quality and banding artifacts. I found it also a little slower due to excesive conditional branchs.

The "enable weighting" was an AO misconception. I was not taking into consideration the probability functions that the hemisphere sampling should use.

Btw, I've just uploaded the final 3.17.0.

Pussik
05-10-2010, 11:26 AM
Thanks for fast answer.
What's up with Antialiasing threshold, there write it can improve quality. Though
I don't complain on any quality problems (oh, maybe padding sometimes looks terrible, but it's probably my fault), but if something could be better, why don't try?

metalliandy
05-10-2010, 11:47 AM
My xnormal keeps crashing everytime i try to back an AO map, im trying to get a 1024*1024, my pc is good enough to not crash, core i7, 6gb ram etc, but it jsut keeps crashing my comp, anyone got any ideas?

When you say crash, do you mean BSOD, hard reset or freezing?

When using the Cuda Renderer i was getting what i thought was crashing, as during rendering everything would become unresponsive.
I would go through the process of reseting the PC and trying again with the same results but later found out that it was not actually crashing as if i left it to render after a few mins everything would go back to normal.
Im guessing the GPU is using such a massive amount of processing that windows isnt redrawing at a normal speed which looks like everything has frozen.

Do you have any HDD activity during your crash?

ianucci
05-11-2010, 02:47 PM
Is this information from the Polycount Wiki still applicable?

Unfortunately Xnormal splits the cage where ever the model has hard edges, causing ray misses in the bake. You can fix the hard edge split problem but it involves an overly complex workflow.

jogshy
05-11-2010, 04:38 PM
Is this information from the Polycount Wiki still applicable?
Not really. The newest versions use an averaged cage by default.

But yep, you've the option to break/weld manually the cage's inside the 3D viewer.

EarthQuake
05-11-2010, 04:57 PM
Not really. The newest versions use an averaged cage by default.

But yep, you've the option to break/weld manually the cage's inside the 3D viewer.

Unless you can set up a cage in one click, the above statement still applies. =)

You can fix the hard edge split problem but it involves an overly complex workflow.

I would still say that this is accurate, if the same workflow to create and save cages remains. By default the cage may be averaged, but using a cage is far from default behavior for the app. So, by default you get the same broken edges from hard edge splits, unless you load the viewer, adjust cage, save, make sure everything is loaded correctly, rinse and repeat for any change no matter how small to your mesh.... Its the same discussion again unless i've missed some new features?

Eric Chadwick
05-12-2010, 05:44 AM
EQ, you've tried it in the latest xnormal? I'm editing the cage section right now, would like it to be more accurate if possible.

jogshy
05-12-2010, 11:48 AM
Just to be more clear:

If you use as lowpoly model a cube with hard edges then xNormal 3.17.0 ***WON'T *** break the cage. It will use an averaged one by default ( that is, without discontinuities over the cage ).

However, if you need the cage's faces broken-by-smooth-group ( which is rare ) then you need to:
1. Load the 3D viewer
2. Show cage->Edit cage
3. click on the "Break" button
4. click on the "save meshes" button and answer "yes" to the auto-assign meshes.

( there's no need to select all the vertices... if no vertex is selected then the break operation will be performed over the whole mesh ).

Why you need to load the 3D viewer and why this should not be done "in one click without loading the 3D viewer"? Because some break/weld operations require interpolation. That interpolation can produce some undesired effects so that's why xN needs visual confirmation from the artist.

EarthQuake
05-12-2010, 12:10 PM
The cage by default will not break the edges now, however *using* the cage is still a slow and overly complicated process. The default method should simply be load your mesh into the lowpoly tab, set a ray cast distance and render with an averaged projection mesh, but there are more steps to it than that to use the cage period. And have the option to set the projection mesh back to mesh normals instead of averaged.

Honestly you should only ever need to go into the 3d editor, and manually set up a cage for very specific cases, not every model.

Why you need to load the 3D viewer and why this should not be done "in one click without loading the 3D viewer"? Because some break/weld operations require interpolation. That interpolation can produce some undesired effects so that's why xN needs visual confirmation from the artist.

This really isn't the case, an artist does not need to set up the cage manually for every asset, and i'll say it again, this must be done for every small change to the mesh, which is very very *very* slow when you're dealing with test bakes, iterations and and change requests on an asset. I've been using xnormal for YEARS, and rarely have i ever needed to to visually see the cage. I'm sure some people do it this way, and the functionality is already there to do that, but the process of just loading in a mesh and baking should be as easy and painless as possible.

EarthQuake
05-12-2010, 12:27 PM
I just checked 3.17.0 Beta 5(what i happen to have installed here)

The default rendering method using xn will render broken edges. Using a cage is an entirely different process and can not be considered the "default behavior" as it requires a different workflow to use.

In comparison, load up maya, go to transfer maps, add your high and low, and you will get a correct, averaged-projection mesh created for you and assigned correctly automatically.

Load up maya, set up a RTT for your lowpoly, a cage will automatically be applied to your mesh and used.

In both of these apps you can do further tweaks until your heart is content, but they will *work* as soon as you assign your high and low meshes and hit render. This is not the case with XN.

New users have no idea you can even use xnormal to get a nice, averaged-cage result. They just think the default broken-edge method is how it works. This leads to lots them simply assuming "this is how it works". Which is a problem.


I'm not trying to break your balls here Santiago, you know how much i respect you and the work that you've done with XN. I'm simply looking at this from an objective viewpoint as someone who has been around the block more than a few times with all the major baking tools, and its clear to me that XN has the worst implementation when it comes to this problem.

jogshy
05-12-2010, 07:20 PM
I know what you mean, Earth. I should make all more intuitive, easy to use and productive.

Think that xn3 is the sum of TONS of patches... and it has really become huge and difficult to manage. There is also a lot of confusion about the uniform ray distances, cages, ray blockers and the MatchUV feature.
xn3 is a huge mess, I admit and I assume it. It's currently too complex and big to change some things

xn4 is a different thing because I have the opportunity to create all from zero ( == if you had the chance to change the things... which ones would you change? My answer: A lot :poly136: ).

Just some related things which are planned for xn4:

1. Kill the uniform ray distances. Why? Because I really don't like numeric/parametric things you cannot really visualise in an intuitive way.

2. All will be done visually using the averaged cage ( with the option of using the surface/geometry normals ), there won't be any break in the cage.
Good news: I found an algorithm to compute the cage automatically for the 99% of the cases. You won't ever have to move the slider ( although I will allow you to move it and also to edit the cage's faces/vertices manually )

3. Integrated viewer ( which btw, could be disabled to use less resources ) with on-screen manipulators ( to move vertices/faces, etc... ).

4. New load/save scene model instead of load-all-the-time one. You'll have an scene. You import things into the scene. The scene is loaded/saved completely without having to use external file references. Things will load much much much faster.

5. Auto-exploding. That's more a promise than a fact currently, but well.. :poly124:

6. Object lists ( yes, object enumeration in a list box so you can select things, etc... )


The point is that I could patch and patch and patch xn3 until I die... but I really prefer to assume xn3 is not perfect and concetrate in xn4 instead, so I can change the core things which were a bad idea in xn3 :poly142:

EarthQuake
05-12-2010, 07:53 PM
<3

CJE
05-13-2010, 09:26 AM
I'm looking to start using xnormal, but since it doesn't support Material ID's I'd have to explode my low poly model to bake it.

Correct me if I'm wrong, won't exploding my low poly, break up my smoothing groups and mess up the bake results? I'm baking a model that has all 1 smoothing group.

EarthQuake
05-13-2010, 10:55 AM
You explode separate mesh chunks, not chop off individual sections from a continuous mesh. So no, what you're worried about is not a problem.

CJE
05-13-2010, 11:14 AM
You explode separate mesh chunks, not chop off individual sections from a continuous mesh. So no, what you're worried about is not a problem.

What do you mean explode seperate mesh chunks?

For example, I have a lot of characters that need to be continuous, lets say something like a army solider which has alot of straps etc...

If I tried to just use xnormal the raytrace wouldnt work cause there are too many distances to consider projecting a small part onto the whole mesh so I'd have to do it 1:1

Straps high to straps low etc... and take apart the low poly mesh.


Or is there another way?

EarthQuake
05-13-2010, 01:29 PM
You can manually tweak the cage, render 2 maps(one with a large ray distance, one with small) and composite them together or do some tests and tweak your mesh so that you dont have extreme difference in areas, IE: make your low match up with your high a bit better.

If your straps are modeled as solid chunks welded to the character you really shouldn't have any problems, if its sloppy and just intersected into the mesh you'll have issues, but you should reconsider your topology at that point.

Things like straps that would hang separately, bags or other items should simply be separate mesh chunks, which are easy to explode, and if they aren't separate you really shouldn't have issues with intersecting or other problems like that.

Taking apart the low should never be an option(on a continuous mesh) as you will break your mesh normals and introduce all sorts of smoothing errors.

Pussik
05-13-2010, 08:20 PM
Once I put my problem to this thread and I receive a few suggestions, why I have things like this:

http://img405.imageshack.us/img405/25/problemau.jpg

Unfortunately I checked all advices.

Actually I'm using 128-256 rays, 140 angle (checked 140-180), 3.17 xNormal, HP model exported normals (checked average too), bias 0,08 (checked 0,2), and still baked AO looks like this:

http://img248.imageshack.us/img248/2186/problem2q.jpg

I think, there could be small difference between this problem in past and in present. Now i can't improve quality of AO, increasing subdivision of HP geometry. :( I think before I could make these postering more dense.

beartraps
05-13-2010, 10:32 PM
I'm running into a very frustrating problem, something I have never encountered before. I baked a nice looking normal map for a character but the only problem was the some flipped normals on the high res. Other than that the bake was pretty sweet.

So I fixed the flipped normals and then reimported my high res OBJs and now I keep getting results like this:

http://i18.photobucket.com/albums/b116/broness/kelly_normals.jpg

Seems like rays are not hitting some areas on my high res, but no matter what I increase my frontal ray distance to I keep getting the same problem. My high res meshes look fine and are lined up perfectly with my low res. Any idea as to why this is happening?

MightyPea
05-14-2010, 09:51 AM
This is a really stupid suggestion, but based on your image I'd say: are you sure you didn't export both your high AND low to your highpoly file?
Go into the 3d viewer and hide everything but the highpoly, then see if there isn't a lowpoly in there as well.

jogshy
05-14-2010, 09:34 PM
Actually I'm using 128-256 rays, 140 angle (checked 140-180), 3.17 xNormal, HP model exported normals (checked average too), bias 0,08 (checked 0,2), and still baked AO looks like this:

128-256 rays is preview quality really. Put that to 1024-2048 with 4AA for production quality.
And spread agle==140 seems too much. 160 is fine.
Use the cosine distribution.
To remove banding you can try also to enable the jittering.

I baked a nice looking normal map for a character but the only problem was the some flipped normals on the high res. Other than that the bake was pretty sweet.
So I fixed the flipped normals and then reimported my high res OBJs and now I keep getting results like this:
As MightyPea said, looks like if you exported the lowpoly attached to the highpoly.

CJE
05-14-2010, 09:52 PM
I'm having trouble importing cages with Xnormal.

Everytime it says the number of vertices/topology doesn't match even though it does.


I've even gone as far as converting it to an edit mesh so it's triangulated, exporting that and it still doesn't work.

Anyone have a solution

jogshy
05-15-2010, 10:57 AM
I'm having trouble importing cages with Xnormal.

Everytime it says the number of vertices/topology doesn't match even though it does.
Remember you cannot add/remove vertices on the cloned mesh. You can only move vertices.

Be sure also that all the lowpoly mesh's faces has UVs ( do not delete UVs in your Unwrap UV tool ).

If you're performing a manual triangulation be sure your sequence is:
1. Triangulate the lowpoly mesh
2. Clone the lowpoly mesh.
3. Move vertices on the lowpoly mesh
4. Save the cloned mesh as external cage

and NOT
1. Clone que lowpoly mesh
2. Move the vertices
3. Triangulate
(because some programs use the face normals to decide the triangulated edges... so the topology won't match)

Avoid the max2obj exporter ( use the gw:Obj one if you need to output as .OBJ).... but I would save as .SBM to avoid problems.

CJE
05-15-2010, 02:25 PM
Remember you cannot add/remove vertices on the cloned mesh. You can only move vertices.

Be sure also that all the lowpoly mesh's faces has UVs ( do not delete UVs in your Unwrap UV tool ).

If you're performing a manual triangulation be sure your sequence is:
1. Triangulate the lowpoly mesh
2. Clone the lowpoly mesh.
3. Move vertices on the lowpoly mesh
4. Save the cloned mesh as external cage

and NOT
1. Clone que lowpoly mesh
2. Move the vertices
3. Triangulate
(because some programs use the face normals to decide the triangulated edges... so the topology won't match)

Avoid the max2obj exporter ( use the gw:Obj one if you need to output as .OBJ).... but I would save as .SBM to avoid problems.


What I tried to do was convert my edit poly to edit mesh, then cloned it.

Then I used projection to make a cage and clicked export cage.


So I can't use the export cage option, I have to use a different model ?

CJE
05-15-2010, 03:26 PM
Well I got it working great using the xNormal SBM exporter. There is a tut on the xnormal site on how to set it up, super easy, but cage works great using it.

Basically just setup the stack in max as follows

+Projection
+Xform
+Edit Mesh
+Edit Poly

Export using SBM and import into xNormal and check use cage box.

Magic!

Pussik
05-15-2010, 10:54 PM
128-256 rays is preview quality really. Put that to 1024-2048 with 4AA for production quality.
And spread agle==140 seems too much. 160 is fine.
Use the cosine distribution.
To remove banding you can try also to enable the jittering.



Ohh man, thanks with this jittering. I should figure it out by myself ^^ Well.. now i should rebake all stuff again. :D

1024-2048 ? ;o I don't have i7 i980X :P

jogshy
05-16-2010, 01:21 PM
1024-2048 ? ;o I don't have i7 i980X :P
and a GeForce/Quadro? :)

katzeimsack
05-16-2010, 01:23 PM
for my env assets i use 300 rays and 2AA. Spreadangle 160-170


btw: jogshy please add a real(seperate) limit ray lenght for ao. it's really annoying and makes using xnormal impossible in some cases..

jogshy
05-16-2010, 01:24 PM
btw: jogshy please add a real(seperate) limit ray lenght for ao. it's really annoying and makes using xnormal impossible in some cases..
Currently you can setup a cage and check in the "Limit ray distance" option, I'm not sure if that fits for you. xn4 will allow you also to control which objects cast/receive AO shadows

seforin
05-16-2010, 01:47 PM
Hi Jogshy I have a question to ask,

this is something that I know Max' can do but im not sure if xnormal can


in max lets say I have a complex object of a sort

lets say its a gun with 3 parts

now normally for proper bakes you would need to explode your mesh prior to exporting to xnormal into those 3 chunks so they do not touch one another and there normals bake proper per each chunk


now in max there is a option to set on both the high poly and low poly a material ID for each section and a option on baking that only to touch the rays of selected material ID

So if chunk 1 low poly and chunk 1 high poly both share the same material ID then chunk 2 low and high and chunk 3 low and high will not effect it , even if the mesh is in its non exploded form.


now this is great for hard edge stuff but my question comes to this

now with zbrush if im sculpting something complex (organic/hard edge based thing)

I would need to sculpt/export each chunk separate and have it bake each part 1 by 1 and then combine all the maps in photoshop for a proper normal map (but baking all the chunks/objs at once is ok for a AO map since there all intersecting each other properly)

now is there a way in xnormal that every mesh I export upon the low and high poly theres a way to set it that low poly chunk only effects high poly chunk with the same material ID or naming convention or something in that manner?

Ive been reading around and im not sure if this is something xnormal can do or not

If this is possible I really would like to know, this will really help our workflow in our job if something like this exists or not.

If im not explaining this well I can draw a quick diagram

oXYnary
05-16-2010, 02:16 PM
and a GeForce/Quadro? :)

OpenCl support sooner than 4.0?

Speaking of which, I remembered at one point you mentioned multiplatform support for 4.0. If not already planned, can you add support for internet rendering? I have a server box at a different location running ubuntu enterprise that I can steal some rendering power from when its idle. Hell, maybe even make its address open for some users (if I can dedicate just one or two cores without effecting the rest of the systems processes). If I get a cheapo ati card since it can fit one, I could add opencl support to it as well.

jogshy
05-16-2010, 04:15 PM
OpenCl support sooner than 4.0?.... If I get a cheapo ati card...
I don't know. The ball is on ATI's roof.

I remembered at one point you mentioned multiplatform support for 4.0. If not already planned, can you add support for internet rendering?
The xn4's render should operate on TCP/IP(agent+coordinator model) so you'll able to render through Internet, yep. In fact, I'm investigating the Amazon EC2 service currently.

now in max there is a option to set on both the high poly and low poly a material ID for each section and a option on baking that only to touch the rays of selected material IDWell, currently xn3 does not support MultiSubObj materials.

xn4 should support that you describe plus the ability to render multiple UV chunks to different files in one pass. You'll be able also to write custom shaders, so you could output any information to "multiple render targets" or to define an heuristic to skip determinated hits.

seforin
05-16-2010, 05:30 PM
OH thats fantastic news! any idea how long before we can see xn4 ?

jogshy
05-16-2010, 06:46 PM
any idea how long before we can see xn4 ?
No idea, sorry. There's a lot of work to do and the spare time is too unstable to try to compute any roadmap :poly136: ... so all I can say is "soon".

jocose
05-19-2010, 12:22 PM
Hey jogshy, would it be possible to get dithering put into xnormal? It would be nice to fix special circumstances when banding becomes apparent.

http://boards.polycount.net/showthread.php?t=72445&page=3

jogshy
05-19-2010, 04:50 PM
Some cards have reduced accuracy in order to gain some speed. In fact, many pre-DX10 GPUs use a 16/24bits floating point model which, together with texture compression/automatic mipmap generation, can affect the normal map's representation.
AFAIK, in 32bits color mode, a DX10 GPU you should not have problems displaying normal maps. Using OpenEXR/TIFF 16/FP can improve the appearance if the application can load 16bits images ( like Photoshop... for games 16 bits is absolutely overkill ).

jogshy
05-24-2010, 04:19 PM
The 3.17.1 is available.

Fixed the TGA bug and the crash loading dotXSI/Collada files.

East
05-26-2010, 12:27 AM
Cheers for the support, jogshy.

I have a request that might be a big parenthesis in the grand scheme of things, but I was doing a big batch render earlier and thought it would be nice with Growl/Growl for Windows push notification support, so that when everything is done a notification is pushed out and my phone gives me a little beep about it.

Not essential, but useful in an office environment when I often set something to render and step away to discuss the latest issue with a co-worker.

jogshy
05-26-2010, 10:36 AM
I have a request that might be a big parenthesis in the grand scheme of things, but I was doing a big batch render earlier and thought it would be nice with Growl/Growl for Windows push notification support, so that when everything is done a notification is pushed out and my phone gives me a little beep about it.

Not essential, but useful in an office environment when I often set something to render and step away to discuss the latest issue with a co-worker.

Interesting, thx! I'll take a look into Growl, it's a new thing to me :poly136:

bugo
05-26-2010, 01:09 PM
Curious how Xnormal 4.0 is going, any cool news for us Jogshy?

jogshy
05-26-2010, 01:18 PM
Curious how Xnormal 4.0 is going, any cool news for us Jogshy?
I had to re-start the development from zero one month ago. I've changed from wxWidgets to Qt.... and seems the 3.17 versions never end :p


Not essential, but useful in an office environment when I often set something to
render and step away to discuss the latest issue with a co-worker.
Wow, Growl ROCKS! I really like it!

Ok, I have added Growl support for the upcoming 3.17.2. I've placed three events currently:
1. Map rendering finished
2. Conemap finished
3. Simple AO tool finished

which are the tasks that more time consume. Do you need any other one?

tcw295
05-27-2010, 03:50 PM
Hey everyone, I'm having a problem, figured I'd put it in the xnormal thread since its related....

I have a mesh I started in this newfangled sculpting app, sculptris, and its got crazy topology, so I retopoligized a low poly version, unwrapped it, and now I want to get a displacement map from the highpoly version out of xnormal, so I can continue working in another sculpting app. First off, can xnormal even do that? I have been at this for days, scouring the internet seeing people say "oh yeah displacement maps? Xnormal does that fine!" Without giving so much as clue as to how to do it....

Well I've only used xnormal to make normal maps and ao maps, but displacement is giving me so many problems. I have been using the height map, perhaps out of ignorance. Here is a screenshot of my predicament.


http://i104.photobucket.com/albums/m179/tcw295/problem.jpg

This height map result was obtained after bringing in a subdivided version of my lowpoly mesh (as the internet recommended) and this high poly, which is basically all triangles. Apart from the hand, there isnt too much difference in proportion, and there are no overlapping or inverted uvs.

Can someone help me out?

jogshy
05-27-2010, 07:01 PM
Well I've only used xnormal to make normal maps and ao maps, but displacement is giving me so many problems.
Are you using the auto-normalise heights option? or the manual one?
Is your object more or less centered at (0,0,0) with a ResetXform or Freeze transforms applied?
Have you setup the cage in a way that covers completely the lowpoly mesh or are you using the Match UV feature?

tcw295
05-27-2010, 07:17 PM
I reset both xforms, they are on top of each other nicely, im using the auto normalize setting for heightmaps, and i wasnt using a cage....but I just made one using the projection modifier in max and pushed it so it covered the highpoly...the resulting xnormal height map didnt change at all...

tcw295
05-27-2010, 08:09 PM
aha! Using the manual normalization, I'm slowly narrowing it down to a perfect map!


http://i104.photobucket.com/albums/m179/tcw295/Untitled-1.jpg?

Just gotta up the contrast a bit more and paint out the hands and im good to go!

tcw295
05-27-2010, 08:13 PM
Well since I'm here....How do you render a VECTOR displacement map?

jogshy
05-27-2010, 09:56 PM
I reset both xforms, they are on top of each other nicely,
But sure the models are near (0,0,0). It's VERY important, or the radius for the heights's auto-normalization won't be calculated properly.



I just made one using the projection modifier in max and pushed it so it covered the highpoly...the resulting xnormal height map didnt change at all...
Remind the object needs to be triangulated(Edit mesh :p) before applying the Projection modifier. The SBM exporter cannot export quad-based cages.

Also sure you have checked in the "Export cage" in the SBM exporter and the "Use cage" in the corresponding lowpoly's slot inside xNormal.


ell since I'm here....How do you render a VECTOR displacement map?
In the same way that a normal map, AO map or height map, with the exception that you'll need an output image format with alpha support ( like the TGA or TIFF... so RGB==xyz direction, alpha=height )

I recommend you to use the MatchUV feature to get more precision ( which means the lowpoly==highpoly at subdiv 0, so the UVs match ) and to remove the need of a cage.

See the spiked ball example ( make the highpoly visible, it's hidden by default ).

tcw295
05-27-2010, 10:37 PM
sbm? Im always exporting to obj


So...yeah I get vector displace, it has to be a tiff or tga...but I mean how do you do it, I dont see a "vector displacement map" in the xnormal maps list

jogshy
05-28-2010, 10:06 AM
sbm? Im always exporting to obj
SBM = simple binary mesh = the native format of xNormal. It has several advantages over the .OBJ format.
xNormal includes some exporters for Maya and 3dsmax.

I dont see a "vector displacement map" in the xnormal maps list
Direction map ( It was named in that way because it can be also used to see distortions in the cage ).

East
06-03-2010, 08:25 AM
I had to re-start the development from zero one month ago. I've changed from wxWidgets to Qt.... and seems the 3.17 versions never end :p

Wow, Growl ROCKS! I really like it!

Ok, I have added Growl support for the upcoming 3.17.2. I've placed three events currently:
1. Map rendering finished
2. Conemap finished
3. Simple AO tool finished

which are the tasks that more time consume. Do you need any other one?
Wow, I haven't looked back here since I didn't expect anything to come from my request so soon. That's awesome :) I think those three are probably good enough for me, if someone else can think of something more I'm sure they'll speak their mind. Really cool, nice one!

jogshy
06-07-2010, 09:23 PM
Tomorrow probably I'm gonna unveil a R&D GPGPU project ( not related with xNormal, but yes with 3D, rendering and graphics ) I've been developing some time ago... don't ask :poly124: Surprise, surprise. I'll create another thread for it and I hope it could be as monstruous as this one with the time :)

MightyPea
06-08-2010, 08:11 AM
Tease!

jogshy
06-08-2010, 06:12 PM
As promised,
http://www.polycount.com/forum/showthread.php?t=73997

As xn4 was using a lot of OpenCL I used that to raise my OpenCL's skill :poly124:

Vrav
06-09-2010, 11:11 PM
It looks absolutely wonderful - greatly look forward to the standalone xn4!

In the meantime, the past few xN versions seem to be lacking Optix... is it removed? I was really enjoying it, but only for a couple models before updating and now I can't find it anymore... do I have to download the plugin separately..? Or is it no longer available..?

EDIT: I found a post on your blog that explains why I can't see it... but it's strange because I remember using it in a previous version. Still on XP with a single GPU... so I am confused. :\

jogshy
06-10-2010, 12:05 AM
In the meantime, the past few xN versions seem to be lacking Optix... is it removed? I was really enjoying it, but only for a couple models before updating and now I can't find it anymore... do I have to download the plugin separately..? Or is it no longer available..?

EDIT: I found a post on your blog that explains why I can't see it... but it's strange because I remember using it in a previous version. Still on XP with a single GPU... so I am confused. :\
Indeed, if you are under WinXP and you own only a GPU then Optix will be disabled. The reason: I simply cannot disable the WinXP's watchdog.
You've two options to solve it:

1. Migrate to Vista/7, because I can disable the watchdog for these OSs.
2. If you want to stay with XP ( which I strongly discourage due to the lack or VRAM virtualization and the bad x64 and multicore support ), just buy an extra GPU, go to the xn's plugin manager->Optix->Configure-> and check the "Ignore this device" option for the GPU connected to the monitor ). The watchdog will only activate if there if the desktop is attached to the GPU.

And yep, probably you've seen a 3.17 beta under WinXP with the Optix renderer enabled with only one GPU... but I bet the WinXP's watchdog will abort the rendering process after 5s forcing you to reboot via a nice BSD or VPU recover :poly136:

Vrav
06-10-2010, 12:34 AM
And yep, probably you've seen a 3.17 beta under WinXP with the Optix renderer enabled with only one GPU... but I bet the WinXP's watchdog will abort the rendering process after 5s forcing you to reboot via a nice BSD or VPU recover :poly136:

That must have been it! I never had any problems, though my XP is a bit gutted. I guess I will just have to upgrade to Win7 soon. Thanks for the response, quite look forward to the surprises and new features as always. Even if I cannot use them with my current system, they look amazing. :P

edit: I have some onboard video - is it possible to use that? It is the GeForce 6100 chipset... but with a graphics card in the pci-e slot it does not even appear in my device manager, so probably not accessible by xN.

jogshy
06-10-2010, 12:19 PM
edit: I have some onboard video - is it possible to use that? It is the GeForce 6100 chipset... but with a graphics card in the pci-e slot it does not even appear in my device manager, so probably not accessible by xN.
If it does not appear in the device list I'm afraid it cannot be used ( probably lacks some kind of feature I need like OpenGL 3.2 or some CUDA feature ).

oXYnary
06-11-2010, 02:05 AM
Any idea people's? Been noticing this on a few of my models recently. The UV islands aren't exactly matching in Max with display textures in dx. While the Max burnt ones are much smoother. I haven't noticed this in the past, or possibly, just being more observant now.

This is with 3.17.0.5088

I saw 3.17.1, but it looks like for bug fixes unrelated.
http://www.oxynary.com/downloads/udk/raillayout.jpg
http://www.oxynary.com/downloads/udk/xnorml.jpg
http://www.oxynary.com/downloads/udk/max.jpg

Eric Chadwick
06-11-2010, 06:16 AM
If the xnormal map looks good in xnormal, then it's fine. Each app makes maps that look best in its own display. What does it look like in your game engine, that's what really matters.

oXYnary
06-11-2010, 03:49 PM
The problem is Im unsure it did do it before. Dont have any local older copies of xnormal to test against. Jogshy, is here a backlog of your older releases somewhere? Say like mid last year 3.14 ish or so?

oXYnary
06-11-2010, 04:10 PM
In fact, here it is in xnormal. Somethings wrong. Possibly increase the scale of all objects in Xnormal then bake?

http://www.oxynary.com/downloads/udk/notgood.jpg

jogshy
06-12-2010, 09:52 AM
Have you rendered the NM in xnormal or in 3dsmax? xN maps should be viewer in xNormal. 3dsmax's ones in 3dsmax.

Well, some advices:

1. Enable the "Show tangents" in the xN's 3D viewer to see if the UVs are well welded.
2. Render a "wireframe and ray fails map" to see if rays are failing or there are problems with your UVs.
3. Render the normal map as object space and see if the seam still appears.
4. Have you setup your cage in a way that covers completely the highpoly mesh?
5. Do you use Xoulil's max shader or the default one?
6. Don't use the max2obj exporter... Nevah!
7. Collapse + Edit mesh + ResetXForm ( + optionnally,Projection ) before exporting, always.

oXYnary
06-12-2010, 12:03 PM
Ho Jogshy. I don't know if you saw the pictures as my site seems to be currently offline.

Last one was in xnormal 3d viewer and it still showed issue with seam. Have checked all you put. No difference. Should I send you files so you can test on your end?

1. Enable the "Show tangents" in the xN's 3D viewer to see if the UVs are well welded.

Showing tangents no issue.

2. Render a "wireframe and ray fails map" to see if rays are failing or there are problems with your UVs.


Nope all show


3. Render the normal map as object space and see if the seam still appears.

Attempted now and no the seam does not appear Only with your tangent render. Hence wondering if there is a bug.


4. Have you setup your cage in a way that covers completely the highpoly mesh?

Absolutely

5. Do you use Xoulil's max shader or the default one?

Default. But again inside xnormal itself showing same issue.

6. Don't use the max2obj exporter... Nevah!

Always use sbm

7. Collapse + Edit mesh + ResetXForm ( + optionnally,Projection ) before exporting, always.

Always reset and edit mesh.

jogshy
06-12-2010, 08:09 PM
Last one was in xnormal 3d viewer and it still showed issue with seam. Have checked all you put. No difference. Should I send you files so you can test on your end?

Yep, pls. thx.

oXYnary
06-14-2010, 04:47 AM
Well my sites back up (finally)

http://www.oxynary.com/downloads/udk/export.7z

See your PM for the password

Was from Max 9. Normal map was +X -Y +Z (ie max normal).

jogshy
06-14-2010, 01:38 PM
Thx oXY, I've download it and I'll investigate it.

jogshy
06-16-2010, 07:15 PM
oXY, there is an UV seam there, clearly:

http://img714.imageshack.us/img714/8895/seam.jpg

You can see it via these tricks:

1. Assign a random VDM/normal map file(any pow2 texture file will work). Enable the "show vector displacement map's seams". UV seams are marked in red.

or

2. In 3dsmax, mark the conflictive faces. Then, place an UVW Unwrap modifier with the all the "show seams" options enabled. Seams will be marked in green.

or

3. Assign a normal map, enter the xN's viewer. Enable the "show tangent basis". If you see any point with more than one three-axis basis then there is a seam there. ( important: assign a normal map or you'll see only the blue lines, which correspond with the normals ).

or

4. Render a "wireframe and ray fails map". UV seams are marked in green ( try to render always at 2k x 2k to see them well ).

I hope it helps.

bugo
06-17-2010, 03:17 PM
Hey Jogshy, was wondering if we are going to have the xnormal exporter for Maya 2011 x64 soon?

Keep up the good work.

oXYnary
06-17-2010, 06:18 PM
oXY, there is an UV seam there, clearly:

http://img714.imageshack.us/img714/8895/seam.jpg

You can see it via these tricks:

1. Assign a random VDM/normal map file(any pow2 texture file will work). Enable the "show vector displacement map's seams". UV seams are marked in red.

or

2. In 3dsmax, mark the conflictive faces. Then, place an UVW Unwrap modifier with the all the "show seams" options enabled. Seams will be marked in green.

or

3. Assign a normal map, enter the xN's viewer. Enable the "show tangent basis". If you see any point with more than one three-axis basis then there is a seam there. ( important: assign a normal map or you'll see only the blue lines, which correspond with the normals ).

or

4. Render a "wireframe and ray fails map". UV seams are marked in green ( try to render always at 2k x 2k to see them well ).

I hope it helps.


Jogshy. I think there is a misunderstanding. Those seams are known and purposely made to uvw mirror. If you look at the max file I sent in fact the mirrored portions are off the uv space with the uv modifier in the stack. The issue is. Max correctly blends the island seams when it builds the normal map Xnormal is not. See below. The max normal map in xnormal displays fine. The Xnormal made map does not.

http://www.oxynary.com/downloads/udk/revisit.gif

I also noticed this on a ball I created recently. Xnormal is not correctly blending these seams on uv islands.

If you want, if you can show me where I can download an earlier version of xnormal 3 from mid last year, I can see if it does the same. However, I dont believe Ive experienced this before. Im implying something I think there is a bug. Specifically with the tangent space renderer as the object space worked fine.

jogshy
06-19-2010, 01:16 AM
Hey Jogshy, was wondering if we are going to have the xnormal exporter for Maya 2011 x64 soon?

Keep up the good work.
It should be there for the 3.17.1. See the xNormalSBM_Maya2k11_x64.mll file in the x64\maya_plugins folder.

normal is not correctly blending these seams on uv islands.
hose seams are known and purposely made to uvw mirror
I don't see your UVs mirrored. There are not in range (-inf,0] or [1,+inf).

If there is a UV seam the light won't be continuous. Perhaps 3dsmax solves that using some black magic ( like auto UV-welding with very small threshold ), but if there is an UV seam there the logical and normal is to get a discontinuity in the lighting.

I'll review my code searching for a possible bug but I think and UV seam will be always an UV seam ! If you want to mitigate it just keep some space over the neighbor island and let the dilation filter to deal with it... but it won't be perfect neither.

dustinbrown
06-21-2010, 02:06 PM
Does xNormal support multiple UV regions?

jogshy
06-23-2010, 10:11 AM
Does xNormal support multiple UV regions?
xNormal supports only an UV channel per mesh.

oXYnary
06-23-2010, 05:40 PM
It should be there for the 3.17.1. See the xNormalSBM_Maya2k11_x64.mll file in the x64\maya_plugins folder.


I don't see your UVs mirrored. There are not in range (-inf,0] or [1,+inf).

If there is a UV seam the light won't be continuous. Perhaps 3dsmax solves that using some black magic ( like auto UV-welding with very small threshold ), but if there is an UV seam there the logical and normal is to get a discontinuity in the lighting.

I'll review my code searching for a possible bug but I think and UV seam will be always an UV seam ! If you want to mitigate it just keep some space over the neighbor island and let the dilation filter to deal with it... but it won't be perfect neither.

Jogshy. No offense, but I see you went back and changed your answer. Your original was you were going to look over the code for tangent. As said Object worked fine in xnormal.

The UVs arent in range, they are outside the uv space purposely.. The issue is as you can see with your answer. If max is auto uv'ing welding. Why does it not show up in xnormal? Unless your stating the way max bakes the normals. If it did uv weld baking, that would have left a seam so wouldn't that have been more apparent?

Im also unsure this happened in the past, hence why if you can point me to your backlog of releases so I can test.

oXYnary
06-23-2010, 06:15 PM
Ok, I see your confusion. The sbm files I sent where based on a different version from what I burned. I have included the correct sbm file for the base with the mirrors outside. The pictures you see on the previous page where taken with the correct sbm with mirror outside the uv space.

I apologize for that confusion, but now hopefully it should be apparent this is something with xnormal tangent burning of curved surfaces and islands.

http://www.oxynary.com/downloads/udk/merrygolowN.SBM

Edit. In fact, I have made a custom version of the normal map with two different layers so you can see the difference of how those are being burnt. If you click on the paths tab, it will give you the uv outlines to make it easier to discern.

http://www.oxynary.com/downloads/udk/merryGoN.7z
Pw is same as before.

jogshy
06-23-2010, 10:56 PM
Im also unsure this happened in the past, hence why if you can point me to your backlog of releases so I can test.
I'm afraid I was conserving the old versions but due to an accident I lost all my backups previous to the 3.17.0.

Ok, I see your confusion.
Yep, I was thinking I was crazy for a moment :)

Cannot download your files currently but I'll do later.
thx

jogshy
06-24-2010, 11:38 AM
oXY, you have a seam there, also in your new meshes...
It's VERY hard to see it, because if you place an UVW Wrap modifier with the "show seams" options does not show unless you make a full zoom over the conflictive zone...
But see it, here is:

http://img715.imageshack.us/img715/2508/seam.png

I simply welded the conflictive vertices/edges:

http://img820.imageshack.us/img820/1213/seamsolved.png

and no longer shows the light discontinuity in xNormal. You should also weld the edge on the left though ( those > and < edges )

I think the UV layout you use contains too many seams. If you don't need to sculpt each rail independently and you don't use object-space NMs, I suggest you to use an UV layout like this one:

http://img132.imageshack.us/img132/9721/platformuv.png

There's no need to use more texture space for the plaform because the top and bottom part can share the TS.

I hope it helps.

oXYnary
06-24-2010, 03:08 PM
Jogshy. I know about those seams. Those were done purposely to not have as much pixel stretching. Moreover, max rendered them fine. And max render looks fine in xnormals viewer while xnormals own does not. Look at the normal map I sent. You can see there is a difference not just in those seams but the entire way the normal map looks in those areas.

I know seams will always have a seam, but again, I have proof positive that with xnormals own 3d viewer, the max ones are almost if not invisible while the xnormal ones are plain as day. Further, again, I have had this happen on circular objects. Which as you know there is no way to have a simple hidden seam.

Oh and the wasted space on the map is actually reserved for another object that I have (you can see in the normal map I sent).

I know my website was out part of last week, but if you go to the previous page you can see all the images I had posted along the way.

jogshy
06-24-2010, 04:50 PM
Well, I cannot find any error in the TS code, sorry.
If you find an object causing seams in places without a seams please drop me a message.

oXYnary
06-25-2010, 04:21 PM
Hi Jogshy,

Unfortunately I dont know what to tell you. The seam should not be that noticable.


I have this simple example here showing the issue is with the y/green channel.
Original Mesh
http://www.oxynary.com/downloads/udk/ballcage.jpg

Max Viewport
http://www.oxynary.com/downloads/udk/ballmax.jpghttp://www.oxynary.com/downloads/udk/ballxn.jpg

Xnormal Viewport
http://www.oxynary.com/downloads/udk/xballmax.jpghttp://www.oxynary.com/downloads/udk/xballxn.jpg


Normal Maps
Max
http://www.oxynary.com/downloads/udk/ballMax.png
Xnormal
http://www.oxynary.com/downloads/udk/ballXnormal.png


File:

http://www.oxynary.com/downloads/udk/ball.7z

I attempted without a cage, stock tangent specs, expoted as an obj and still got similar results.

jogshy
06-26-2010, 02:26 PM
Well, in theory you should get light artifact there because there is a UV seam... but I wonder what 3dsmax does to avoid it and if it would work with a box. Black magic, definitely.

3DRyan
06-28-2010, 10:36 AM
An issue I'm having at the moment: When I bake my normals, it gets to about the 5th bar in the rendering window, then it gets caught up and stays there. It's done this to me on two meshes that are very similar, one is a tree base, and the other is a bunch of smaller branches. It's not a visual error for me so it's pointless to post pics, i can't even get it to render correctly. Do you know what some possible causes may be, Jogshy? Maybe it's the way the mesh is built? Thanks in advance.

danshewan
06-29-2010, 07:40 AM
Anyone else getting errors when visiting xnormal.net? For the last twenty-four hours, seems like if it's not 'page not found' errors, I get server errors trying to access the tutorials.

Problems with your hosting maybe, Jogshy?

jogshy
06-29-2010, 10:03 AM
Anyone else getting errors when visiting xnormal.net? For the last twenty-four hours, seems like if it's not 'page not found' errors, I get server errors trying to access the tutorials.
http://www.xnormal.net works for me ( don't use /1.aspx ). Try to clean the web browser's cookies and perform a complete page refresh with CTRL+F5.

An issue I'm having at the moment: When I bake my normals, it gets to about the 5th bar in the rendering window, then it gets caught up and stays there.
Try the 3.17.2 Beta 3 pls. I've corrected a hang rendering the normals.

3DRyan
06-29-2010, 10:42 AM
Okay, when that's out I'll try it. :)

jogshy
06-30-2010, 12:35 PM
It's available now

3DRyan
06-30-2010, 08:07 PM
Well then, where do I get it? It's not on the website ?????

EDIT: Never mind, it's showing up for me now. Strange.

aphexx
07-05-2010, 08:07 AM
hey, just throwing this in between all the relevant tech stuff:
if you go crazy for xNormal and you are a facebook user too,
then you might want to join the unofficial xNormal appreciation group (http://www.facebook.com/#%21/group.php?gid=129781510368120).
currently we are ~100 counting..
so see you there if you think xNormal is awesome!


sorry for this little advert. but this group is just made for fun and i like to spread the word, nothing commercial. hope its no problem.

tesher07
07-05-2010, 08:28 PM
Can anyone please explain to me why when I bake a normal or an AO, the renders end up exploding right after it finished. It looks fine while it renders but once it finished they just explode and stretch outwards.

jogshy
07-07-2010, 01:43 PM
Can anyone please explain to me why when I bake a normal or an AO, the renders end up exploding right after it finished. It looks fine while it renders but once it finished they just explode and stretch outwards.
Sorry I don't understand the last part. Are you referring to the dilation filter?

MightyPea
07-07-2010, 03:49 PM
'stretch outwards' sounds like the edge padding, which is good behaviour! It stops your background colour from bleeding into your texture when that gets filtered ingame

SpeCter
07-11-2010, 02:13 AM
Sorry I don't understand the last part. Are you referring to the dilation filter?

He definately means the edge padding like MightyPea said.

jogshy
07-28-2010, 01:23 PM
xNormal 3.17.2 has been released:

- Added support for Growl notifications.

- Optimized the software CPU rendering a 5% ( thx to new LR child heuristics ).

- The Optix renderer now uses a better sampling to reduce banding artifacts. Also improved sightly the performance.

- Solved some bugs in the displacement map computations with the MatchUV option enabled.

- Removed the dependency from the CUDA runtime DLL ( driver ftw! ).

- Fixed a bug in the xNormal's installer that was causing to abort the installation due to an incorrect .NET 2.0 detection under Windows 7.

- Reduced a bit more the xNormal's installer because the program no longer depends on the VS2005 SP1 runtime, the CUDA 3.0 DLL runtime and neither DX9.0c ( which is included in XP SP2 ).

- Solved some compatibility problems with OpenGL 3.2 in the Optix renderer.

- Solved a rare problem in the Default Bucket Renderer that could lead to slow/hang the render.

- Fixed a problem loading .DDS files with mipmapping ( affecting to the DDS image importer and the OpenGL/DX9/DX10 graphics drivers ).

- Solved a very-rare potential problem computing the tangent space for opposite faces.

- Fixed a problem in the OBJ mesh importer that could cause to use more RAM than should be used to load the objects.

- Recompiled using the latest libraries ( Optix 2.0 final, DX June 2010, etc... )

MightyPea
08-13-2010, 08:02 AM
Jogshy, have you considered adding curvature maps (http://wiki.polycount.com/CurvatureMap?action=show&redirect=Curvature+Map) to Xnormal?
My workflow's been to decimate my meshes and bake them in Max, but while that works fine for normals, the curvature comes out horribly mangled and needs quite some fixing by hand:
http://dl.dropbox.com/u/17715/DecimatedSurface.jpg
It would be great if I could do these in Xnormal.

jogshy
08-14-2010, 11:09 AM
Jogshy, have you considered adding curvature maps (http://wiki.polycount.com/CurvatureMap?action=show&redirect=Curvature+Map) to Xnormal?
Yep, but I didn't know exactly how to do it. The experiments derived into the "convexity map" but I bet that's not a curvature map like you want.

If you can explain it a bit more in depth ( what you need/want, what represents red/blue/green colors ) I can try again.

SpeCter
08-14-2010, 11:17 AM
If you understand python you could look at this thread:
http://www.polycount.com/forum/showthread.php?t=74251&page=2

or you could ask rebb how he did it.