Garux / netradiant-custom

The open-source, cross-platform level editor for id Tech based games.
https://garux.github.io/NRC/
Other
334 stars 59 forks source link

Wish for a filled-in-wireframe texture function #22

Closed jsbaboon closed 5 years ago

jsbaboon commented 5 years ago

Netradiant can already render maps in wireframe mode. Can this be extended to filling in the faces with flat colours or textures to give the effect of panels with outlines?

Then allow this to be compiled to bsp without the need to manually create face specific textures in a paint editor. Creating the outlines for each face texture and then aligning them is painful and inaccurate.

The result in the game will be a total (or partially) tiled map in the shape of the faces, emphasizing the brush geometry.

I hope this idea appeals to you.

Garux commented 5 years ago

Radiant rendering is pretty irrelevant to bsp.
Wished effect may be achieved by -flat in bsp stage for texturing and using celshader to get wireframe.

jsbaboon commented 5 years ago

Thanks for pointing this out. Unfortunately celshader only seems to outline parts that jut out in front of other parts. Researching this far was not easy. I want every brush to have all its drawn faces having an outline all the time. How can I burn the wireframe onto the map? Perhaps you know where I can find out.

Garux commented 5 years ago

Not that ic perfect way to do this; generating textures of decent resolution for fine 'wires' barely is way to go, as this would be a lot of data in pk3, video memory and lotta shaders to render, unless you create altases, containing textures of multiple faces; you can add the code for this to q3map2, if you want it that badly; there is debug switch with similar effect, outlining lightmaps.
I assume this should be represented by triangles; perhaps it might be modeled in some smart way or created in radiant; some dirty path in radiant is csg tool: brush, shrink, extrude faces, subtract result from the source.

jsbaboon commented 5 years ago

Simple idea, hard implementation. Lots to go and learn. Thanks for your help.