Author Topic: MergeMetaTriangles mess up  (Read 3986 times)

whitebear

  • Posts: 659
  • Turrets: +35/-20
MergeMetaTriangles mess up
« on: May 16, 2008, 03:05:27 pm »
Well this was first time I encountered that MergeMetaTriangles in -Meta compile setting takes long time. So my question is why does it take long? what exactly does this part of compile process do? How to make it shorter?

Gtk R* 1.5
« Last Edit: May 16, 2008, 03:07:34 pm by whitebear »

Lava Croft

  • Guest

whitebear

  • Posts: 659
  • Turrets: +35/-20
Re: MergeMetaTriangles mess up
« Reply #2 on: May 16, 2008, 04:08:28 pm »
That did not answer my question(s). Did you even read my post... I am not asking about -meta... just the MergeMetaTriangles part of compile process.

Survivor

  • Posts: 1660
  • Turrets: +164/-159
Re: MergeMetaTriangles mess up
« Reply #3 on: May 16, 2008, 04:59:47 pm »
obsidian or kat should know, I sure as hell don't know what that exactly does.
http://quake3world.com/forum/viewforum.php?f=10
I’m busy. I’ll ignore you later.

Odin

  • Spam Killer
  • *
  • Posts: 1767
  • Turrets: +113/-204
    • My Website
Re: MergeMetaTriangles mess up
« Reply #4 on: May 16, 2008, 05:58:27 pm »
If MergeMetaTriangles takes a long time, check if you have any large liquid surfaces such as slime/lava/water. These shaders usually use a high q3map_tessSize value and this causes the compiler to split up these shader surfaces into many triangles more than normal, and once MergeMetaTriangles comes around it causes it to work very hard and long to merge them into one surface.

Check your shader for a q3map_tessSize value. If the surface in GtkRadiant is very big(for example I did a very large "oceanside" part of my map with a really big water shader once and had your problem), try reducing the q3map_tessSize or removing it altogether. With a large brush, wave effects shouldn't be a problem(q3map_tessSize gives the game more triangles to work with in deformVertexes modes resulting in better looking waves for smaller liquid brushes), in fact it'll probably look better since a larger body of water tends to have larger waves.

This is just one way to fix it. It usually involves merging a lot of triangles so check if you have anything with a lot of triangles right next to each other(csg subtract?).
« Last Edit: May 16, 2008, 06:01:36 pm by Odin »

whitebear

  • Posts: 659
  • Turrets: +35/-20
Re: MergeMetaTriangles mess up
« Reply #5 on: May 16, 2008, 06:04:11 pm »
Thanks. Yes.
This map has lot of slime.... At least now I don't need to worry that I have left some waste stuff somewhere without knowing. ^^

Lava Croft

  • Guest
Re: MergeMetaTriangles mess up
« Reply #6 on: May 16, 2008, 09:59:25 pm »
You asked about MergeMetaTriangles in the -meta part of the compile process. I merely gave you the only link I knew by head which dealt with the -meta subject. You see, like you, I also cannot be arsed to use Google.

TRaK

  • Posts: 442
  • Turrets: +94/-21
    • TRaK@MG
Re: MergeMetaTriangles mess up
« Reply #7 on: May 17, 2008, 06:18:29 am »
Ydnar's q3map2 handbook says this on meta:

Quote
meta
Creates meta surfaces from brush faces. This is a very useful switch. It decomposes brush faces into their component triangles, and makes a bsp more efficient by:
1. combining surfaces.
2. removing coincident verts.
3. lowering the surface + vert count across the map.
The BSP -meta command will no longer merge triangles into a large surface that causes lightmaps to become lower resolution (higher samplesize). This is a BIG change from previous Q3Map2 versions because you can VERY easily create a map that has 150+ lightmap pages and fail to light. Use _lightmapscale with care now.
note: You must add the -forcesidesvisible to your bspc line when using -meta. Either -meta or Q3Map2 in general makes for retarded bots without it. And the -forcesidesvisible switch should be placed before the -bsp2aas switch. courtesy of Dan_M.
(from here)

I know that doesn't really answer your question whitebear, but since we are discussing -meta, I figured some people might be able to use the info.