qhull precision error?

ethosaur

L4: Comfortable Member
Sep 18, 2010
178
51
So I got this error in my hammer logs today:
"qhull precision error: Only 4 facets remain. Can not merge another
pair. The convexity constraints may be too strong. Reduce the
magnitude of 'Cn' or increase the magnitude of 'An'. For example,
try 'C-0.001' instead of 'C-0.1' or 'A-0.999' instead of 'A-0.9'."

The map works fine, but im worried it could somehow cause some bad errors.
There is a lot of displacements on my map, and im pretty sure it's what caused this.

I tried searching on google for this error but only found one forum that was on here long ago that never really covered how to fix it.

Should I be worried? How should I narrow the bug down to find it? Thanks

Full compile log: "
** Executing...
** Command: "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\bin\vbsp.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\tf" "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.vmf"

Valve Software - vbsp.exe (Aug 17 2015)
4 threads
materialPath: C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\tf\materials
Loading C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.vmf
ConVarRef mat_reduceparticles doesn't point to an existing ConVar
Patching WVT material: maps/cp_snowcrystal_rc4/nature/blendrockgroundwallsnow_wvt_patch
Patching WVT material: maps/cp_snowcrystal_rc4/nature/blendgrasstosnow001_wvt_patch
Patching WVT material: maps/cp_snowcrystal_rc4/nature/blendgroundtosnow001_wvt_patch
fixing up env_cubemap materials on brush sides...
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (1)
Processing areas...done (0)
Building Faces...done (0)
Chop Details...done (0)
Find Visible Detail Sides...
Merged 694 detail faces...done (0)
Merging details...done (0)
FixTjuncs...
PruneNodes...
WriteBSP...
done (0)
writing C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.prt...Building visibility clusters...
done (0)
*** Error: Skybox vtf files for skybox/sky_morningsnow_01 weren't compiled with the same size texture and/or same flags!
Can't load skybox file skybox/sky_morningsnow_01 to build the default cubemap!
*** Error: Skybox vtf files for skybox/sky_morningsnow_01 weren't compiled with the same size texture and/or same flags!
Can't load skybox file skybox/sky_morningsnow_01 to build the default cubemap!
Finding displacement neighbors...
Found a displacement edge abutting multiple other edges.
Finding lightmap sample positions...
Displacement Alpha : 0...1...2...3...4...5...6...7...8...9...10
Building Physics collision data...

qhull precision error: Only 4 facets remain. Can not merge another
pair. The convexity constraints may be too strong. Reduce the
magnitude of 'Cn' or increase the magnitude of 'An'. For example,
try 'C-0.001' instead of 'C-0.1' or 'A-0.999' instead of 'A-0.9'.

done (1) (781990 bytes)
Error loading studio model ""!
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
Compacting texture/material tables...
Reduced 4814 texinfos to 2707
Reduced 176 texdatas to 157 (7449 bytes to 6607)
Writing C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.bsp
4 seconds elapsed

** Executing...
** Command: "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\bin\vvis.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\tf" "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4"

Valve Software - vvis.exe (Aug 17 2015)
4 threads
reading c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.bsp
reading c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.prt
763 portalclusters
1933 numportals
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (0)
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (3)
Optimized: 1055 visible clusters (0.86%)
Total clusters visible: 122076
Average clusters visible: 159
Building PAS...
Average clusters audible: 412
visdatasize:90831 compressed from 146496
writing c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.bsp
3 seconds elapsed

** Executing...
** Command: "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\bin\vrad.exe"
** Parameters: -game "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\tf" "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4"

Valve Software - vrad.exe SSE (Aug 17 2015)

Valve Radiosity Simulator
4 threads
[Reading texlights from 'lights.rad']
unknown light specifier type - lights

[56 texlights parsed from 'lights.rad']

Loading c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.bsp
Setting up ray-trace acceleration structure... Done (4.32 seconds)
6937 faces
2 degenerate faces
1743945 square feet [251128096.00 square inches]
1023 Displacements
696445 Square Feet [100288096.00 Square Inches]
6935 patches before subdivision
108595 patches after subdivision
sun extent from map=0.052336
sun extent from map=0.052336
229 direct lights
BuildFacelights: 0...1...2...3...4...5...6...7...8...9...10 (29)
BuildVisLeafs: 0...1...2...3...4...5...6...7...8...9...10 (12)
transfers 7550850, max 414
transfer lists: 57.6 megs
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #1 added RGB(305714, 206391, 168125)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #2 added RGB(35550, 20401, 12018)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #3 added RGB(6877, 3956, 1947)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #4 added RGB(1616, 946, 367)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #5 added RGB(468, 274, 95)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #6 added RGB(150, 85, 27)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #7 added RGB(50, 27, 8)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #8 added RGB(17, 9, 2)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #9 added RGB(6, 3, 1)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (1)
Bounce #10 added RGB(2, 1, 0)
GatherLight: 0...1...2...3...4...5...6...7...8...9...10 (0)
Bounce #11 added RGB(1, 0, 0)
Build Patch/Sample Hash Table(s).....Done<0.0408 sec>
FinalLightFace: 0...1...2...3...4...5...6...7...8...9...10 (6)
FinalLightFace Done
0 of 0 (0% of) surface lights went in leaf ambient cubes.
ThreadComputeLeafAmbient: 0...1...2...3...4...5...6...7...8...9...10 (7)
Writing leaf ambient...done
Ready to Finish

Object names Objects/Maxobjs Memory / Maxmem Fullness
------------ --------------- --------------- --------
models 61/1024 2928/49152 ( 6.0%)
brushes 2158/8192 25896/98304 (26.3%)
brushsides 14233/65536 113864/524288 (21.7%)
planes 5952/65536 119040/1310720 ( 9.1%)
vertexes 12458/65536 149496/786432 (19.0%)
nodes 2226/65536 71232/2097152 ( 3.4%)
texinfos 2707/12288 194904/884736 (22.0%)
texdata 157/2048 5024/65536 ( 7.7%)
dispinfos 1023/0 180048/0 ( 0.0%)
disp_verts 25575/0 511500/0 ( 0.0%)
disp_tris 32736/0 65472/0 ( 0.0%)
disp_lmsamples 1984764/0 1984764/0 ( 0.0%)
faces 6937/65536 388472/3670016 (10.6%)
hdr faces 0/65536 0/3670016 ( 0.0%)
origfaces 5983/65536 335048/3670016 ( 9.1%)
leaves 2288/65536 73216/2097152 ( 3.5%)
leaffaces 7023/65536 14046/131072 (10.7%)
leafbrushes 3814/65536 7628/131072 ( 5.8%)
areas 13/256 104/2048 ( 5.1%)
surfedges 58442/512000 233768/2048000 (11.4%)
edges 38445/256000 153780/1024000 (15.0%)
LDR worldlights 228/8192 20064/720896 ( 2.8%)
HDR worldlights 0/8192 0/720896 ( 0.0%)
leafwaterdata 4/32768 48/393216 ( 0.0%)
waterstrips 902/32768 9020/327680 ( 2.8%)
waterverts 0/65536 0/786432 ( 0.0%)
waterindices 18399/65536 36798/131072 (28.1%)
cubemapsamples 89/1024 1424/16384 ( 8.7%)
overlays 46/512 16192/180224 ( 9.0%)
LDR lightdata [variable] 10548808/0 ( 0.0%)
HDR lightdata [variable] 0/0 ( 0.0%)
visdata [variable] 90831/16777216 ( 0.5%)
entdata [variable] 231650/393216 (58.9%)
LDR ambient table 2288/65536 9152/262144 ( 3.5%)
HDR ambient table 2288/65536 9152/262144 ( 3.5%)
LDR leaf ambient 10602/65536 296856/1835008 (16.2%)
HDR leaf ambient 2288/65536 64064/1835008 ( 3.5%)
occluders 0/0 0/0 ( 0.0%)
occluder polygons 0/0 0/0 ( 0.0%)
occluder vert ind 0/0 0/0 ( 0.0%)
detail props [variable] 1/12 ( 8.3%)
static props [variable] 1/63350 ( 0.0%)
pakfile [variable] 32947/0 ( 0.0%)
physics [variable] 781990/4194304 (18.6%)
physics terrain [variable] 178891/1048576 (17.1%)

Level flags = 0

Total triangle count: 20629
Writing c:\program files (x86)\steam\steamapps\common\team fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.bsp
1 minute, 0 seconds elapsed

** Executing...
** Command: Copy File
** Parameters: "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\sourcesdk_content\tf\mapsrc\cp_snowcrystal_rc4.bsp" "C:\Program Files (x86)\Steam\SteamApps\common\Team Fortress 2\tf\maps\cp_snowcrystal_rc4.bsp"
 
Last edited:

ethosaur

L4: Comfortable Member
Sep 18, 2010
178
51
Put your compile log on interlopers.net/errors and see what it spits out.

It did not come up with anything regarding my error, only some minor ones like colliding displacements here and there, missing studio model and a problem with the skybox. Otherwise nothing unusual.

The web seems very dry of this error.

Updated descrition with full compile log.
 
Last edited:

ethosaur

L4: Comfortable Member
Sep 18, 2010
178
51
Error loading studio model ""!
You have a prop_something with no model. It's a good idea to change that.

I could imagine that the qhull error comes from super thin geometry. Or maybe displacements with weird settings. Do you have anything strange like that?

Thats what I was not sure of, but I did some weird thing that fixed it. But I really wish I knew what I did that fixed it. Basically just cordon off the area until the error shows up then delete that area, and copy it and paste in a older version where it works. (Atleast what I did)

Bah..


Also, where can I find that prop with no model?
 
Last edited:

worMatty

Repacking Evangelist
aa
Jul 22, 2014
1,257
999
You could use the entity report tool to search for all your props, specifying the studiomodel keyvalue and leaving the value field blank.
 

ethosaur

L4: Comfortable Member
Sep 18, 2010
178
51
You could use the entity report tool to search for all your props, specifying the studiomodel keyvalue and leaving the value field blank.

Didn't quite work, but I found another way to do it, I just ticked off all things on the map except props and found that little silly unused prop_static under the map.

Now my console is almost completely error free, quite a sight to behold.
 
Oct 6, 2008
1,947
445
Sorry for the bump but I too am now getting this error message and can't seem to find a solution. I didn't want to start a new thread since the title of it works and it's better to have the answers pertaining to the same item in one place (IMO) instead of multiple threads about the same topic.

My map is also crashing on load into TF2 - worked great before, interlopers and alt+P show no errors

Anyone know og a fix for the qhull precision error message?
 

AsG_Alligator

qhull precision error
aa
Aug 5, 2016
595
1,191
Yeah... This error is the bane of my existence lately.

Interlopers has nothing on it, but from my experience it may cause random displacement cracks on seams between brush faces.
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
Should be easy enough to find by going through the VMF in a text editor and doing Searches for "prop_".
 
Oct 6, 2008
1,947
445
Could not find in text editor - what exactly am I looking for?
 
Oct 6, 2008
1,947
445
Ok, found the cause by using cordon block - somehow one of my brushes became as thick as a single grid line on the map causing the error, unfortunately my map still crashes on load into TF2
 

Freyja

aa
Jul 31, 2009
2,994
5,813
I'm bumping this only because this is the thread that came up on google when I had the same error and I want to share my knowledge -

This issue for me was caused by two things so far: A displacement that was too big, cutting it into multiple helped,

And also, displacements in the skybox (that had been scaled down from full size displacements) being off grid. Snapping their verticies to the grid fixed it the second time it appeared.
 

MOCOLONI

L6: Sharp Member
Dec 16, 2014
373
89
I'm bumping this only because this is the thread that came up on google when I had the same error and I want to share my knowledge -

This issue for me was caused by two things so far: A displacement that was too big, cutting it into multiple helped,

And also, displacements in the skybox (that had been scaled down from full size displacements) being off grid. Snapping their verticies to the grid fixed it the second time it appeared.
Is there a way to locate the specific displacement that's causing the problem? It currently pops up on the compile logs but couldn't find the brush(es).
 
Oct 6, 2008
1,947
445
Cordon box, or the big box method - if cordon, do a fast compile and locate the areas where it's NOT happening then start to shrink the box so you can find out where it is - you may have to do this 50 times. They are VERY hard to find.

Oh and maybe this will help - did it just happen? If yes, can you remember what you were just working on? If yes, check those item as they may be the cause of the error.
 

Freyja

aa
Jul 31, 2009
2,994
5,813
I had a test visgroup that I systematically added displacements to and hid it on compile of a basic VBSP only compile until I identified the offender.
 

Pinsplash

bad bad bad
May 8, 2016
156
71
I just had this bug with completely flat displacements, because flatness is TERRIFYING. Error is definitely strongly associated with crashes and weird displacements.
 

Mess About

L7: Fancy Member
Jan 16, 2017
404
178
sorry for necro this but I fixed this error by rearranged the map so that the Center Axis (the xyz axis where 3 blue lines in the viewport cross ) stay hover inside the map, hope this trick could help.