Problem - white dots everywhere!

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Problem - white dots everywhere!

Post by IrrWHAT?! »

Here's a cropped screenshot of the problem.
http://img357.imageshack.us/my.php?image=problemtb8.png

I made this model, and as you can see, little white dots can be seen. They are actually just showing what's behind the object (which is a white skybox). It doesn't look that bad on a single screenshot, but they 'flicker' like mad in seemingly random places as I move or rotate the view. They seem to only appear at triangle edges.

I've never seen anything like this before, and haven't been able to find any info on it. Does anyone know what might cause this, or even better, how it can be fixed?

Since other models (such as dwarf.x) don't do it, I'm guessing it's something broken with my mesh file. I've tried converting it to different file formats, but all give the same problem.

Help much appreciated. Thx.
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

My old MX440 used to do that when I overclocked it too much. Does it happen on other systems?
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Post by IrrWHAT?! »

I'm using an nvidia 8800gt. I've got the latest drivers. It's not overclocked at all.

Could there be some card incompatiblity? That would most certainly be bad.

Any ideas what I should do?
Frank Dodd
Posts: 208
Joined: Sun Apr 02, 2006 9:20 pm

Post by Frank Dodd »

I haven't had a great deal of experience with bsp maps, but personally I would look into the positions of the verticies, on the triangles. It looks like the verticies in the two faces are very slightly different. perhaps one is at 0 and the other at 0.0000001. On second thoughts though doesn't this type of thing throw up an error in the map compiler?

Great looking map by the way.
Eigen
Competition winner
Posts: 375
Joined: Fri Jan 27, 2006 2:01 pm
Location: Estonia
Contact:

Post by Eigen »

Does it happen with other meshes as well?

What if you don't clear the back buffer (or whatever it is called) before each render, so the previous frame would stay visible. So instead of white dots you would see pixels of the last frame. It would make it less noticeable, no?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Yeah, I also had such problems right before my (also non-overclocked) gfx card died due to bad cooling design. Watch out for random system lockups and crashes, that's the second step before total annihilation :wink:
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Post by IrrWHAT?! »

Frank Dodd wrote:I haven't had a great deal of experience with bsp maps, but personally I would look into the positions of the verticies, on the triangles. It looks like the verticies in the two faces are very slightly different. perhaps one is at 0 and the other at 0.0000001. On second thoughts though doesn't this type of thing throw up an error in the map compiler?
Thanks for the suggestion. I have to try to figure out a way to round the decimals to test that. You might be right though. The 'map compiler' I'm using probably isn't very good (I'm using UT3 editor LOL), so it wouldn't tell me that.
I've looked into it more. Nothing I do has an effect on it, so the problem must be the original mesh. I need to do more research into fixing this.
Great looking map by the way.
Thx alot! Radiosity light-mapping is pure awesomeness.
What if you don't clear the back buffer (or whatever it is called) before each render, so the previous frame would stay visible. So instead of white dots you would see pixels of the last frame. It would make it less noticeable, no?
LOL Eigen. We both have 'creative' minds. I tried changing the skybox to black and then used wishful thinking :wink:

It looks like UT3 is just throwing out models with precision errors, so should be able to make a program to auto-fix my meshes, assuming that that is the problem. Since only the models I make produce the problem, it shouldn't be my gpu (scary to think it is). Any further/other suggestions would be greatly appreciated.

N.B. Blender doesn't seem to like the .obj files I export either. Hopefully it is having the same problem but it is fussier than irredit, so that if I fix one problem both are fixed.
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Post by IrrWHAT?! »

Just incase anyone has any ideas, here is the contents of a mesh representing a cylindrical room with a cube cut out the side.
It was the only small enough file I could make that has the flicker problem.

Code: Select all

# OBJ File Generated by UnrealEd
v -262144.000000 -262144.000000 -262144.000000
v -262144.000000 262144.000000 -262144.000000
v -262144.000000 262144.000000 262144.000000
v -262144.000000 -262144.000000 262144.000000
vt 0.000000 -0.000000
vt 0.000000 1807.889648
vt 1927.529297 1807.889648
vt 1927.529297 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -262144.000000 -262144.000000 262144.000000
v -262144.000000 262144.000000 262144.000000
v 262144.000000 262144.000000 262144.000000
v 262144.000000 -262144.000000 262144.000000
vt 0.000000 -0.000000
vt 0.000000 1807.889648
vt 1927.529297 1807.889648
vt 1927.529297 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 262144.000000 -262144.000000 262144.000000
v 262144.000000 262144.000000 262144.000000
v 262144.000000 262144.000000 -262144.000000
v 262144.000000 -262144.000000 -262144.000000
vt 0.000000 -0.000000
vt 0.000000 1807.889648
vt 1927.529297 1807.889648
vt 1927.529297 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 262144.000000 -262144.000000 -262144.000000
v 262144.000000 262144.000000 -262144.000000
v -262144.000000 262144.000000 -262144.000000
v -262144.000000 -262144.000000 -262144.000000
vt 0.000000 -0.000000
vt 0.000000 1807.889648
vt 1927.529297 1807.889648
vt 1927.529297 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -262144.000000 262144.000000 262144.000000
v -262144.000000 262144.000000 -262144.000000
v 262144.000000 262144.000000 -262144.000000
v 262144.000000 262144.000000 262144.000000
vt 0.000000 -0.000000
vt 0.000000 1807.889526
vt 1927.529297 1807.889526
vt 1927.529297 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -262144.000000 -262144.000000 -262144.000000
v -262144.000000 -262144.000000 262144.000000
v 262144.000000 -262144.000000 262144.000000
v 262144.000000 -262144.000000 -262144.000000
vt 0.000000 -0.000000
vt 0.000000 1807.889526
vt 1927.529297 1807.889526
vt 1927.529297 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 512.000000 -256.000000 212.077347
v 512.000000 256.000000 212.077347
v 212.077362 256.000000 512.000000
v 212.077362 -256.000000 512.000000
vt 1.559392 -0.000000
vt 1.559392 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 512.000000 -256.000000 -212.077393
v 512.000000 256.000000 -212.077393
v 512.000000 256.000000 212.077347
v 512.000000 -256.000000 212.077347
vt 1.559392 -0.000000
vt 1.559392 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 212.077255 -256.000000 -512.000061
v 212.077255 256.000000 -512.000061
v 512.000000 256.000000 -212.077393
v 512.000000 -256.000000 -212.077393
vt 1.559393 0.000000
vt 1.559393 1.765517
vt -0.000000 1.765517
vt -0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -127.999985 -256.000000 -512.000000
v -212.077347 -256.000000 -512.000000
v -212.077347 256.000000 -512.000000
v -128.000000 256.000000 -512.000000
vt 1.250284 -0.000000
vt 1.559392 -0.000000
vt 1.559392 1.765517
vt 1.250284 1.765517
f -1/-1 -2/-2 -3/-3 -4/-4 
v -512.000061 -256.000000 -212.077179
v -512.000061 256.000000 -212.077179
v -212.077347 256.000000 -512.000000
v -212.077347 -256.000000 -512.000000
vt 1.559393 -0.000000
vt 1.559393 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -511.999969 -256.000000 212.077438
v -511.999969 256.000000 212.077438
v -512.000061 256.000000 -212.077179
v -512.000061 -256.000000 -212.077179
vt 1.559392 -0.000000
vt 1.559392 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -212.077347 -256.000000 512.000000
v -212.077347 256.000000 512.000000
v -511.999969 256.000000 212.077438
v -511.999969 -256.000000 212.077438
vt 1.559392 -0.000000
vt 1.559392 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 212.077362 -256.000000 512.000000
v 212.077362 256.000000 512.000000
v -212.077347 256.000000 512.000000
v -212.077347 -256.000000 512.000000
vt 1.559392 -0.000000
vt 1.559392 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 212.077362 256.000000 512.000000
v 512.000000 256.000000 212.077347
v 512.000000 256.000000 -212.077393
v 212.077255 256.000000 -512.000061
v -212.077347 256.000000 -512.000000
v -512.000061 256.000000 -212.077179
v -511.999969 256.000000 212.077438
v -212.077347 256.000000 512.000000
vt 1.102657 -1.034216
vt 2.662049 -1.034216
vt 3.764706 -0.000000
vt 3.764706 1.462602
vt 2.662049 2.496818
vt 1.102656 2.496818
vt -0.000000 1.462602
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 -5/-5 -6/-6 -7/-7 -8/-8 
v -212.077347 -256.000000 512.000000
v -511.999969 -256.000000 212.077438
v -512.000061 -256.000000 -212.077179
v -212.077347 -256.000000 -512.000000
v 212.077255 -256.000000 -512.000061
v 512.000000 -256.000000 -212.077393
v 512.000000 -256.000000 212.077347
v 212.077362 -256.000000 512.000000
vt 1.102657 -1.034216
vt 2.662049 -1.034216
vt 3.764706 -0.000000
vt 3.764706 1.462602
vt 2.662049 2.496818
vt 1.102657 2.496819
vt 0.000000 1.462602
vt -0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 -5/-5 -6/-6 -7/-7 -8/-8 
v -128.000000 128.000000 -512.000000
v -128.000000 128.000000 -671.999939
v -128.000000 -128.000000 -671.999939
v -128.000000 -128.000000 -512.000000
vt 0.588235 0.882759
vt 0.000000 0.882759
vt 0.000000 -0.000000
vt 0.588235 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 128.000000 128.000000 -596.077271
v 128.000000 128.000000 -512.000000
v 128.000000 -128.000000 -512.000000
v 128.000000 -128.000000 -596.077271
vt 0.662049 0.882759
vt 0.352941 0.882759
vt 0.352941 -0.000000
vt 0.662049 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v -128.000000 -128.000000 -671.999939
v -128.000000 128.000000 -671.999939
v 52.077347 128.000000 -671.999939
v 52.077362 -128.000000 -671.999939
vt 0.941176 -0.000000
vt 0.941176 0.882759
vt 0.279127 0.882759
vt 0.279127 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 128.000000 128.000000 -512.000000
v 128.000000 128.000000 -596.077271
v 52.077347 128.000000 -671.999939
v -128.000000 128.000000 -671.999939
v -128.000000 128.000000 -512.000000
vt 0.941176 0.331035
vt 0.941176 0.620956
vt 0.662049 0.882759
vt 0.000000 0.882759
vt 0.000000 0.331035
f -1/-1 -2/-2 -3/-3 -4/-4 -5/-5 
v 128.000000 -128.000000 -596.077271
v 128.000000 -128.000000 -512.000000
v -128.000000 -128.000000 -512.000000
v -128.000000 -128.000000 -671.999939
v 52.077362 -128.000000 -671.999939
vt 0.941176 0.261802
vt 0.941176 0.551724
vt 0.000000 0.551724
vt 0.000000 -0.000000
vt 0.662049 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 -5/-5 
v 128.000000 -256.000000 -512.000061
v 128.000000 256.000000 -512.000061
v 212.077255 256.000000 -512.000061
v 212.077255 -256.000000 -512.000061
vt 0.309108 -0.000000
vt 0.309108 1.765517
vt 0.000000 1.765517
vt 0.000000 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 128.000000 128.000000 -512.000000
v -128.000000 128.000000 -512.000000
v -128.000000 256.000000 -512.000000
v 128.000000 256.000000 -512.000061
vt 0.309108 1.324138
vt 1.250284 1.324138
vt 1.250284 1.765517
vt 0.309108 1.765517
f -1/-1 -2/-2 -3/-3 -4/-4 
v 128.000000 -128.000000 -512.000000
v 128.000000 -256.000000 -512.000061
v -127.999985 -256.000000 -512.000000
v -128.000000 -128.000000 -512.000000
vt 0.309108 0.441379
vt 0.309108 -0.000000
vt 1.250284 -0.000000
vt 1.250284 0.441379
f -1/-1 -2/-2 -3/-3 -4/-4 
v 128.000000 -128.000000 -671.999939
v 128.000000 128.000000 -671.999939
v 128.000000 128.000000 -596.077271
v 128.000000 -128.000000 -596.077271
vt 0.941176 -0.000000
vt 0.941176 0.882759
vt 0.662049 0.882759
vt 0.662049 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 52.077347 128.000000 -671.999939
v 128.000000 128.000000 -671.999939
v 128.000000 -128.000000 -671.999939
v 52.077362 -128.000000 -671.999939
vt 0.279127 0.882759
vt 0.000000 0.882759
vt 0.000000 -0.000000
vt 0.279127 -0.000000
f -1/-1 -2/-2 -3/-3 -4/-4 
v 128.000000 128.000000 -596.077271
v 128.000000 128.000000 -671.999939
v 52.077347 128.000000 -671.999939
vt 0.941176 0.620956
vt 0.941176 0.882759
vt 0.662049 0.882759
f -1/-1 -2/-2 -3/-3 
v 128.000000 -128.000000 -671.999939
v 128.000000 -128.000000 -596.077271
v 52.077362 -128.000000 -671.999939
vt 0.941176 -0.000000
vt 0.941176 0.261802
vt 0.662049 -0.000000
f -1/-1 -2/-2 -3/-3 
# dElaernU yb detareneG eliF JBO
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Yes, I think Frank was right, seems like minor zbuffer fighting problems, maybe with untextured faces or white background?
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Post by IrrWHAT?! »

I think the problem is that new vertices are created for each face, even when though they could be shared by adjoining facing. Since the adjoining faces are completely independent of eachother, their edges don't line up properly (that's my theory).

Cleaning that up would also make the models much more compact. Say, for a cube, my modeller makes 6 quads, and 6*4 = 24 vertices!!! It should only need to make 6 quads and 8 vertices.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

That depends, because you often also want proper texture coords and normals, which would lead to vertex duplication again. Adjusting the near and far values to e.g. 1 and 10000 might help as well.
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

hi,
I have not met such conditions(since i dont use bsp)...
You all are talking about vertices,texcoords etc...
But i like to point out about the textures used..

I am talking from my experience with another file format(non irrlicht) but i dont know whether this will help you...

Once i was exporting lightmaps as tga(32bit) for swf files...this type of problem was there ...caused by the transparency near the edges and vertex joints...when i made lightmap at 24 bit(no alpha) it was solved...

Here it may not be directly applicable...try changing the image format to 24 bit....
skumar
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Post by IrrWHAT?! »

Hi again.
I fixed vertex duplicates using blender, and it removed alot of the problem, but still not fixed :cry:
I don't know what else to do to fix it. Having no texture you still get the problem. It's not specific to irrEdit either. I've now seen the dots in blender. It must be something wrong with the mesh. Normals and tex coords shouldn't have any effect as I've tried exporting it into several different formats using several different programs, some of which re-calculate norms and tex coords to their liking. Adjusting the irredit far value has absolutely no effect either.
I guess I really can't use UTed as a modeler.

Is there a good editor out there with a similar CSG-based modelling style? I liked the way the method you use to model objects is obvious with UTed, and that's the problem with Blender. Actually modelling complex objects / game levels should just take hard work and not require that you learn a million new techniques than what you need to make a simpler object. Anyway :roll: :? I have searched, but haven't found anything that rivals UTed 3.
Please don't suggest software you haven't used before personally.

Any suggestions about how I can still use UTed would also be greatly appreciated.

Thx :)
Kojack
Posts: 67
Joined: Sun Jan 20, 2008 2:39 am

Post by Kojack »

Say, for a cube, my modeller makes 6 quads, and 6*4 = 24 vertices!!! It should only need to make 6 quads and 8 vertices.
Unless you do some shader tricks, 24 vertices is standard for a cube. There is no way to map a single texture onto every face of a cube with only 8 vertices, you can get 4 faces on wrapping around the sides (every second face mirrored), but then the uv coords for the top and bottom faces are wrong.
Plus with less than 24 vertices, each corner can't have 3 normals. So the lighting will try to smooth around the corner instead of having sharp edges. Solid colour unlit cubes are fine with 8 vertices though.

Is there a good editor out there with a similar CSG-based modelling style?
The only one I can think of is DeleD. It's a level editor with csg and stuff, and the file format page says it supports Irrlicht. I never really got into it, but it seems ok (I used it for a few minutes, but I suck as a modeller/level designer so my opinion is questionable at best). Looks like most of the csg and lighting features are for the commercial Pro version instead of the free Lite version though, so it might not be what you are looking for.


Holes in a mesh like your pic can be caused by t junctions between mesh faces. That's where some faces have a vertex which sits along the edge of another face.
Image (t junction on the middle vertex)
Due to mathematical errors, pixel gaps can appear along the edge of a t junction.
IrrWHAT?!
Posts: 33
Joined: Tue May 20, 2008 9:18 am
Location: Australia

Post by IrrWHAT?! »

Thx for response Kojack.
I'll look into Deled.

You're right about the 24 vertices thing. I struggled for answers as to the fault, so I made a theory that that was problematic. I didn't know what I was talking about, I was grasping at straws. I'm not sure about the t junction theory though. The dots seem to appear at every edge in the mesh.

Could you please explain what you mean more. I don't quite understand.
Thx
Post Reply