- compile both poly and sw renderer as one unit, because due to the includes this gets really slow otherwise. Lumping these together saves 50 seconds per build on my system with a 3.4 GHz Core i7 and an SSD for storage, so on other systems it may be even more.

This commit is contained in:
Christoph Oelckers 2017-03-10 00:43:36 +01:00
parent a4710bcdb0
commit 4de0f8b1fa
5 changed files with 306 additions and 240 deletions

View file

@ -790,27 +790,11 @@ file( GLOB HEADER_FILES
*.h *.h
) )
# These files will be flagged as "headers" so that they appear in project files set ( SWRENDER_SOURCES
# without being compiled.
set( NOT_COMPILED_SOURCE_FILES
${OTHER_SYSTEM_SOURCES}
sc_man_scanner.h
sc_man_scanner.re
g_statusbar/sbarinfo_commands.cpp
xlat/xlat_parser.y
xlat_parser.c
xlat_parser.h
scripting/zscript/zcc-parse.lemon
zcc-parse.c
zcc-parse.h
)
set( FASTMATH_PCH_SOURCES
swrenderer/r_swcanvas.cpp swrenderer/r_swcanvas.cpp
swrenderer/r_swrenderer.cpp swrenderer/r_swrenderer.cpp
swrenderer/r_memory.cpp swrenderer/r_memory.cpp
swrenderer/r_renderthread.cpp swrenderer/r_renderthread.cpp
swrenderer/drawers/r_draw.cpp
swrenderer/drawers/r_draw_pal.cpp swrenderer/drawers/r_draw_pal.cpp
swrenderer/drawers/r_draw_rgba.cpp swrenderer/drawers/r_draw_rgba.cpp
swrenderer/drawers/r_thread.cpp swrenderer/drawers/r_thread.cpp
@ -848,6 +832,9 @@ set( FASTMATH_PCH_SOURCES
swrenderer/plane/r_planerenderer.cpp swrenderer/plane/r_planerenderer.cpp
swrenderer/plane/r_flatplane.cpp swrenderer/plane/r_flatplane.cpp
swrenderer/plane/r_slopeplane.cpp swrenderer/plane/r_slopeplane.cpp
)
set( POLYRENDER_SOURCES
polyrenderer/poly_renderer.cpp polyrenderer/poly_renderer.cpp
polyrenderer/scene/poly_scene.cpp polyrenderer/scene/poly_scene.cpp
polyrenderer/scene/poly_portal.cpp polyrenderer/scene/poly_portal.cpp
@ -860,20 +847,39 @@ set( FASTMATH_PCH_SOURCES
polyrenderer/scene/poly_wallsprite.cpp polyrenderer/scene/poly_wallsprite.cpp
polyrenderer/scene/poly_sprite.cpp polyrenderer/scene/poly_sprite.cpp
polyrenderer/scene/poly_sky.cpp polyrenderer/scene/poly_sky.cpp
polyrenderer/drawers/poly_triangle.cpp
polyrenderer/drawers/poly_buffer.cpp polyrenderer/drawers/poly_buffer.cpp
polyrenderer/drawers/poly_triangle.cpp
polyrenderer/drawers/poly_draw_args.cpp polyrenderer/drawers/poly_draw_args.cpp
polyrenderer/drawers/screen_triangle.cpp polyrenderer/drawers/screen_triangle.cpp
polyrenderer/math/tri_matrix.cpp polyrenderer/math/tri_matrix.cpp
polyrenderer/math/poly_intersection.cpp polyrenderer/math/poly_intersection.cpp
) )
# These files will be flagged as "headers" so that they appear in project files
# without being compiled.
set( NOT_COMPILED_SOURCE_FILES
${OTHER_SYSTEM_SOURCES}
${SWRENDER_SOURCES}
${POLYRENDER_SOURCES}
sc_man_scanner.h
sc_man_scanner.re
g_statusbar/sbarinfo_commands.cpp
xlat/xlat_parser.y
xlat_parser.c
xlat_parser.h
scripting/zscript/zcc-parse.lemon
zcc-parse.c
zcc-parse.h
)
# This is disabled for now because I cannot find a way to give the .pch file a different name. # This is disabled for now because I cannot find a way to give the .pch file a different name.
# Visual C++ 2015 seems hell-bent of only allowing one .pch file with the same name as the executable. # Visual C++ 2015 seems hell-bent of only allowing one .pch file with the same name as the executable.
#enable_precompiled_headers( g_pch2.h FASTMATH_PCH_SOURCES ) #enable_precompiled_headers( g_pch2.h FASTMATH_PCH_SOURCES )
# Enable fast math for some sources # Enable fast math for some sources
set( FASTMATH_SOURCES set( FASTMATH_SOURCES
${FASTMATH_PCH_SOURCES} swrenderer/r_all.cpp
polyrenderer/poly_all.cpp
oplsynth/music_opldumper_mididevice.cpp oplsynth/music_opldumper_mididevice.cpp
oplsynth/music_opl_mididevice.cpp oplsynth/music_opl_mididevice.cpp
oplsynth/opl_mus_player.cpp oplsynth/opl_mus_player.cpp
@ -903,39 +909,18 @@ set( FASTMATH_SOURCES
sound/sndfile_decoder.cpp sound/sndfile_decoder.cpp
sound/music_pseudo_mididevice.cpp sound/music_pseudo_mididevice.cpp
wildmidi/wildmidi_lib.cpp wildmidi/wildmidi_lib.cpp
gl/compatibility/gl_20.cpp
gl/data/gl_data.cpp
gl/data/gl_portaldata.cpp
gl/data/gl_setup.cpp
gl/data/gl_matrix.cpp gl/data/gl_matrix.cpp
gl/data/gl_vertexbuffer.cpp
gl/dynlights/a_dynlight.cpp gl/dynlights/a_dynlight.cpp
gl/utility/gl_clock.cpp gl/utility/gl_clock.cpp
gl/utility/gl_cycler.cpp gl/utility/gl_cycler.cpp
gl/utility/gl_geometric.cpp gl/utility/gl_geometric.cpp
gl/renderer/gl_2ddrawer.cpp gl/renderer/gl_2ddrawer.cpp
gl/renderer/gl_quaddrawer.cpp
gl/renderer/gl_renderer.cpp
gl/renderer/gl_renderstate.cpp
gl/renderer/gl_renderbuffers.cpp
gl/renderer/gl_lightdata.cpp
gl/renderer/gl_postprocess.cpp
gl/renderer/gl_postprocessstate.cpp
gl/hqnx/init.cpp gl/hqnx/init.cpp
gl/hqnx/hq2x.cpp gl/hqnx/hq2x.cpp
gl/hqnx/hq3x.cpp gl/hqnx/hq3x.cpp
gl/hqnx/hq4x.cpp gl/hqnx/hq4x.cpp
gl/xbr/xbrz.cpp gl/xbr/xbrz.cpp
gl/xbr/xbrz_old.cpp gl/xbr/xbrz_old.cpp
gl/textures/gl_hwtexture.cpp
gl/textures/gl_texture.cpp
gl/textures/gl_material.cpp
gl/textures/gl_hirestex.cpp
gl/textures/gl_bitmap.cpp
gl/textures/gl_samplers.cpp
gl/textures/gl_translate.cpp
gl/textures/gl_hqresize.cpp
gl/textures/gl_skyboxtexture.cpp
gl/scene/gl_bsp.cpp gl/scene/gl_bsp.cpp
gl/scene/gl_fakeflat.cpp gl/scene/gl_fakeflat.cpp
gl/scene/gl_clipper.cpp gl/scene/gl_clipper.cpp
@ -953,42 +938,9 @@ set( FASTMATH_SOURCES
gl/scene/gl_walls_draw.cpp gl/scene/gl_walls_draw.cpp
gl/scene/gl_vertex.cpp gl/scene/gl_vertex.cpp
gl/scene/gl_spritelight.cpp gl/scene/gl_spritelight.cpp
gl/stereo3d/gl_stereo3d.cpp
gl/stereo3d/gl_stereo_cvars.cpp
gl/stereo3d/gl_stereo_leftright.cpp
gl/stereo3d/scoped_view_shifter.cpp
gl/stereo3d/gl_anaglyph.cpp
gl/stereo3d/gl_quadstereo.cpp
gl/stereo3d/gl_sidebyside3d.cpp
gl/stereo3d/gl_interleaved3d.cpp
gl/dynlights/gl_dynlight.cpp
gl/dynlights/gl_glow.cpp
gl/dynlights/gl_dynlight1.cpp gl/dynlights/gl_dynlight1.cpp
gl/dynlights/gl_lightbuffer.cpp
gl/shaders/gl_shader.cpp
gl/shaders/gl_texshader.cpp
gl/shaders/gl_shaderprogram.cpp
gl/shaders/gl_presentshader.cpp
gl/shaders/gl_present3dRowshader.cpp
gl/shaders/gl_bloomshader.cpp
gl/shaders/gl_ambientshader.cpp
gl/shaders/gl_blurshader.cpp
gl/shaders/gl_colormapshader.cpp
gl/shaders/gl_tonemapshader.cpp
gl/shaders/gl_lensshader.cpp
gl/shaders/gl_fxaashader.cpp
gl/system/gl_interface.cpp
gl/system/gl_framebuffer.cpp
gl/system/gl_swframebuffer.cpp
gl/system/gl_swwipe.cpp
gl/system/gl_debug.cpp
gl/system/gl_menu.cpp
gl/system/gl_wipe.cpp
gl/system/gl_load.c gl/system/gl_load.c
gl/models/gl_models_md3.cpp
gl/models/gl_models_md2.cpp
gl/models/gl_models.cpp gl/models/gl_models.cpp
gl/models/gl_voxels.cpp
) )
set (PCH_SOURCES set (PCH_SOURCES
@ -1152,6 +1104,60 @@ set (PCH_SOURCES
g_statusbar/sbar_mugshot.cpp g_statusbar/sbar_mugshot.cpp
g_statusbar/shared_sbar.cpp g_statusbar/shared_sbar.cpp
g_statusbar/strife_sbar.cpp g_statusbar/strife_sbar.cpp
gl/compatibility/gl_20.cpp
gl/data/gl_data.cpp
gl/data/gl_portaldata.cpp
gl/data/gl_setup.cpp
gl/data/gl_vertexbuffer.cpp
gl/dynlights/gl_dynlight.cpp
gl/dynlights/gl_glow.cpp
gl/dynlights/gl_lightbuffer.cpp
gl/models/gl_models_md3.cpp
gl/models/gl_models_md2.cpp
gl/models/gl_voxels.cpp
gl/renderer/gl_quaddrawer.cpp
gl/renderer/gl_renderer.cpp
gl/renderer/gl_renderstate.cpp
gl/renderer/gl_renderbuffers.cpp
gl/renderer/gl_lightdata.cpp
gl/renderer/gl_postprocess.cpp
gl/renderer/gl_postprocessstate.cpp
gl/shaders/gl_shader.cpp
gl/shaders/gl_texshader.cpp
gl/shaders/gl_shaderprogram.cpp
gl/shaders/gl_presentshader.cpp
gl/shaders/gl_present3dRowshader.cpp
gl/shaders/gl_bloomshader.cpp
gl/shaders/gl_ambientshader.cpp
gl/shaders/gl_blurshader.cpp
gl/shaders/gl_colormapshader.cpp
gl/shaders/gl_tonemapshader.cpp
gl/shaders/gl_lensshader.cpp
gl/shaders/gl_fxaashader.cpp
gl/stereo3d/gl_stereo3d.cpp
gl/stereo3d/gl_stereo_cvars.cpp
gl/stereo3d/gl_stereo_leftright.cpp
gl/stereo3d/scoped_view_shifter.cpp
gl/stereo3d/gl_anaglyph.cpp
gl/stereo3d/gl_quadstereo.cpp
gl/stereo3d/gl_sidebyside3d.cpp
gl/stereo3d/gl_interleaved3d.cpp
gl/system/gl_interface.cpp
gl/system/gl_framebuffer.cpp
gl/system/gl_swframebuffer.cpp
gl/system/gl_swwipe.cpp
gl/system/gl_debug.cpp
gl/system/gl_menu.cpp
gl/system/gl_wipe.cpp
gl/textures/gl_hwtexture.cpp
gl/textures/gl_texture.cpp
gl/textures/gl_material.cpp
gl/textures/gl_hirestex.cpp
gl/textures/gl_bitmap.cpp
gl/textures/gl_samplers.cpp
gl/textures/gl_translate.cpp
gl/textures/gl_hqresize.cpp
gl/textures/gl_skyboxtexture.cpp
menu/joystickmenu.cpp menu/joystickmenu.cpp
menu/loadsavemenu.cpp menu/loadsavemenu.cpp
menu/menu.cpp menu/menu.cpp

View file

@ -3,487 +3,487 @@
#endif #endif
{ {
-0.525731, 0.000000, 0.850651}, -0.525731f, 0.000000f, 0.850651f},
{ {
-0.442863, 0.238856, 0.864188}, -0.442863f, 0.238856f, 0.864188f},
{ {
-0.295242, 0.000000, 0.955423}, -0.295242f, 0.000000f, 0.955423f},
{ {
-0.309017, 0.500000, 0.809017}, -0.309017f, 0.500000f, 0.809017f},
{ {
-0.162460, 0.262866, 0.951056}, -0.162460f, 0.262866f, 0.951056f},
{ {
0.000000, 0.000000, 1.000000}, 0.000000f, 0.000000f, 1.000000f},
{ {
0.000000, 0.850651, 0.525731}, 0.000000f, 0.850651f, 0.525731f},
{ {
-0.147621, 0.716567, 0.681718}, -0.147621f, 0.716567f, 0.681718f},
{ {
0.147621, 0.716567, 0.681718}, 0.147621f, 0.716567f, 0.681718f},
{ {
0.000000, 0.525731, 0.850651}, 0.000000f, 0.525731f, 0.850651f},
{ {
0.309017, 0.500000, 0.809017}, 0.309017f, 0.500000f, 0.809017f},
{ {
0.525731, 0.000000, 0.850651}, 0.525731f, 0.000000f, 0.850651f},
{ {
0.295242, 0.000000, 0.955423}, 0.295242f, 0.000000f, 0.955423f},
{ {
0.442863, 0.238856, 0.864188}, 0.442863f, 0.238856f, 0.864188f},
{ {
0.162460, 0.262866, 0.951056}, 0.162460f, 0.262866f, 0.951056f},
{ {
-0.681718, 0.147621, 0.716567}, -0.681718f, 0.147621f, 0.716567f},
{ {
-0.809017, 0.309017, 0.500000}, -0.809017f, 0.309017f, 0.500000f},
{ {
-0.587785, 0.425325, 0.688191}, -0.587785f, 0.425325f, 0.688191f},
{ {
-0.850651, 0.525731, 0.000000}, -0.850651f, 0.525731f, 0.000000f},
{ {
-0.864188, 0.442863, 0.238856}, -0.864188f, 0.442863f, 0.238856f},
{ {
-0.716567, 0.681718, 0.147621}, -0.716567f, 0.681718f, 0.147621f},
{ {
-0.688191, 0.587785, 0.425325}, -0.688191f, 0.587785f, 0.425325f},
{ {
-0.500000, 0.809017, 0.309017}, -0.500000f, 0.809017f, 0.309017f},
{ {
-0.238856, 0.864188, 0.442863}, -0.238856f, 0.864188f, 0.442863f},
{ {
-0.425325, 0.688191, 0.587785}, -0.425325f, 0.688191f, 0.587785f},
{ {
-0.716567, 0.681718, -0.147621}, -0.716567f, 0.681718f, -0.147621f},
{ {
-0.500000, 0.809017, -0.309017}, -0.500000f, 0.809017f, -0.309017f},
{ {
-0.525731, 0.850651, 0.000000}, -0.525731f, 0.850651f, 0.000000f},
{ {
0.000000, 0.850651, -0.525731}, 0.000000f, 0.850651f, -0.525731f},
{ {
-0.238856, 0.864188, -0.442863}, -0.238856f, 0.864188f, -0.442863f},
{ {
0.000000, 0.955423, -0.295242}, 0.000000f, 0.955423f, -0.295242f},
{ {
-0.262866, 0.951056, -0.162460}, -0.262866f, 0.951056f, -0.162460f},
{ {
0.000000, 1.000000, 0.000000}, 0.000000f, 1.000000f, 0.000000f},
{ {
0.000000, 0.955423, 0.295242}, 0.000000f, 0.955423f, 0.295242f},
{ {
-0.262866, 0.951056, 0.162460}, -0.262866f, 0.951056f, 0.162460f},
{ {
0.238856, 0.864188, 0.442863}, 0.238856f, 0.864188f, 0.442863f},
{ {
0.262866, 0.951056, 0.162460}, 0.262866f, 0.951056f, 0.162460f},
{ {
0.500000, 0.809017, 0.309017}, 0.500000f, 0.809017f, 0.309017f},
{ {
0.238856, 0.864188, -0.442863}, 0.238856f, 0.864188f, -0.442863f},
{ {
0.262866, 0.951056, -0.162460}, 0.262866f, 0.951056f, -0.162460f},
{ {
0.500000, 0.809017, -0.309017}, 0.500000f, 0.809017f, -0.309017f},
{ {
0.850651, 0.525731, 0.000000}, 0.850651f, 0.525731f, 0.000000f},
{ {
0.716567, 0.681718, 0.147621}, 0.716567f, 0.681718f, 0.147621f},
{ {
0.716567, 0.681718, -0.147621}, 0.716567f, 0.681718f, -0.147621f},
{ {
0.525731, 0.850651, 0.000000}, 0.525731f, 0.850651f, 0.000000f},
{ {
0.425325, 0.688191, 0.587785}, 0.425325f, 0.688191f, 0.587785f},
{ {
0.864188, 0.442863, 0.238856}, 0.864188f, 0.442863f, 0.238856f},
{ {
0.688191, 0.587785, 0.425325}, 0.688191f, 0.587785f, 0.425325f},
{ {
0.809017, 0.309017, 0.500000}, 0.809017f, 0.309017f, 0.500000f},
{ {
0.681718, 0.147621, 0.716567}, 0.681718f, 0.147621f, 0.716567f},
{ {
0.587785, 0.425325, 0.688191}, 0.587785f, 0.425325f, 0.688191f},
{ {
0.955423, 0.295242, 0.000000}, 0.955423f, 0.295242f, 0.000000f},
{ {
1.000000, 0.000000, 0.000000}, 1.000000f, 0.000000f, 0.000000f},
{ {
0.951056, 0.162460, 0.262866}, 0.951056f, 0.162460f, 0.262866f},
{ {
0.850651, -0.525731, 0.000000}, 0.850651f, -0.525731f, 0.000000f},
{ {
0.955423, -0.295242, 0.000000}, 0.955423f, -0.295242f, 0.000000f},
{ {
0.864188, -0.442863, 0.238856}, 0.864188f, -0.442863f, 0.238856f},
{ {
0.951056, -0.162460, 0.262866}, 0.951056f, -0.162460f, 0.262866f},
{ {
0.809017, -0.309017, 0.500000}, 0.809017f, -0.309017f, 0.500000f},
{ {
0.681718, -0.147621, 0.716567}, 0.681718f, -0.147621f, 0.716567f},
{ {
0.850651, 0.000000, 0.525731}, 0.850651f, 0.000000f, 0.525731f},
{ {
0.864188, 0.442863, -0.238856}, 0.864188f, 0.442863f, -0.238856f},
{ {
0.809017, 0.309017, -0.500000}, 0.809017f, 0.309017f, -0.500000f},
{ {
0.951056, 0.162460, -0.262866}, 0.951056f, 0.162460f, -0.262866f},
{ {
0.525731, 0.000000, -0.850651}, 0.525731f, 0.000000f, -0.850651f},
{ {
0.681718, 0.147621, -0.716567}, 0.681718f, 0.147621f, -0.716567f},
{ {
0.681718, -0.147621, -0.716567}, 0.681718f, -0.147621f, -0.716567f},
{ {
0.850651, 0.000000, -0.525731}, 0.850651f, 0.000000f, -0.525731f},
{ {
0.809017, -0.309017, -0.500000}, 0.809017f, -0.309017f, -0.500000f},
{ {
0.864188, -0.442863, -0.238856}, 0.864188f, -0.442863f, -0.238856f},
{ {
0.951056, -0.162460, -0.262866}, 0.951056f, -0.162460f, -0.262866f},
{ {
0.147621, 0.716567, -0.681718}, 0.147621f, 0.716567f, -0.681718f},
{ {
0.309017, 0.500000, -0.809017}, 0.309017f, 0.500000f, -0.809017f},
{ {
0.425325, 0.688191, -0.587785}, 0.425325f, 0.688191f, -0.587785f},
{ {
0.442863, 0.238856, -0.864188}, 0.442863f, 0.238856f, -0.864188f},
{ {
0.587785, 0.425325, -0.688191}, 0.587785f, 0.425325f, -0.688191f},
{ {
0.688191, 0.587785, -0.425325}, 0.688191f, 0.587785f, -0.425325f},
{ {
-0.147621, 0.716567, -0.681718}, -0.147621f, 0.716567f, -0.681718f},
{ {
-0.309017, 0.500000, -0.809017}, -0.309017f, 0.500000f, -0.809017f},
{ {
0.000000, 0.525731, -0.850651}, 0.000000f, 0.525731f, -0.850651f},
{ {
-0.525731, 0.000000, -0.850651}, -0.525731f, 0.000000f, -0.850651f},
{ {
-0.442863, 0.238856, -0.864188}, -0.442863f, 0.238856f, -0.864188f},
{ {
-0.295242, 0.000000, -0.955423}, -0.295242f, 0.000000f, -0.955423f},
{ {
-0.162460, 0.262866, -0.951056}, -0.162460f, 0.262866f, -0.951056f},
{ {
0.000000, 0.000000, -1.000000}, 0.000000f, 0.000000f, -1.000000f},
{ {
0.295242, 0.000000, -0.955423}, 0.295242f, 0.000000f, -0.955423f},
{ {
0.162460, 0.262866, -0.951056}, 0.162460f, 0.262866f, -0.951056f},
{ {
-0.442863, -0.238856, -0.864188}, -0.442863f, -0.238856f, -0.864188f},
{ {
-0.309017, -0.500000, -0.809017}, -0.309017f, -0.500000f, -0.809017f},
{ {
-0.162460, -0.262866, -0.951056}, -0.162460f, -0.262866f, -0.951056f},
{ {
0.000000, -0.850651, -0.525731}, 0.000000f, -0.850651f, -0.525731f},
{ {
-0.147621, -0.716567, -0.681718}, -0.147621f, -0.716567f, -0.681718f},
{ {
0.147621, -0.716567, -0.681718}, 0.147621f, -0.716567f, -0.681718f},
{ {
0.000000, -0.525731, -0.850651}, 0.000000f, -0.525731f, -0.850651f},
{ {
0.309017, -0.500000, -0.809017}, 0.309017f, -0.500000f, -0.809017f},
{ {
0.442863, -0.238856, -0.864188}, 0.442863f, -0.238856f, -0.864188f},
{ {
0.162460, -0.262866, -0.951056}, 0.162460f, -0.262866f, -0.951056f},
{ {
0.238856, -0.864188, -0.442863}, 0.238856f, -0.864188f, -0.442863f},
{ {
0.500000, -0.809017, -0.309017}, 0.500000f, -0.809017f, -0.309017f},
{ {
0.425325, -0.688191, -0.587785}, 0.425325f, -0.688191f, -0.587785f},
{ {
0.716567, -0.681718, -0.147621}, 0.716567f, -0.681718f, -0.147621f},
{ {
0.688191, -0.587785, -0.425325}, 0.688191f, -0.587785f, -0.425325f},
{ {
0.587785, -0.425325, -0.688191}, 0.587785f, -0.425325f, -0.688191f},
{ {
0.000000, -0.955423, -0.295242}, 0.000000f, -0.955423f, -0.295242f},
{ {
0.000000, -1.000000, 0.000000}, 0.000000f, -1.000000f, 0.000000f},
{ {
0.262866, -0.951056, -0.162460}, 0.262866f, -0.951056f, -0.162460f},
{ {
0.000000, -0.850651, 0.525731}, 0.000000f, -0.850651f, 0.525731f},
{ {
0.000000, -0.955423, 0.295242}, 0.000000f, -0.955423f, 0.295242f},
{ {
0.238856, -0.864188, 0.442863}, 0.238856f, -0.864188f, 0.442863f},
{ {
0.262866, -0.951056, 0.162460}, 0.262866f, -0.951056f, 0.162460f},
{ {
0.500000, -0.809017, 0.309017}, 0.500000f, -0.809017f, 0.309017f},
{ {
0.716567, -0.681718, 0.147621}, 0.716567f, -0.681718f, 0.147621f},
{ {
0.525731, -0.850651, 0.000000}, 0.525731f, -0.850651f, 0.000000f},
{ {
-0.238856, -0.864188, -0.442863}, -0.238856f, -0.864188f, -0.442863f},
{ {
-0.500000, -0.809017, -0.309017}, -0.500000f, -0.809017f, -0.309017f},
{ {
-0.262866, -0.951056, -0.162460}, -0.262866f, -0.951056f, -0.162460f},
{ {
-0.850651, -0.525731, 0.000000}, -0.850651f, -0.525731f, 0.000000f},
{ {
-0.716567, -0.681718, -0.147621}, -0.716567f, -0.681718f, -0.147621f},
{ {
-0.716567, -0.681718, 0.147621}, -0.716567f, -0.681718f, 0.147621f},
{ {
-0.525731, -0.850651, 0.000000}, -0.525731f, -0.850651f, 0.000000f},
{ {
-0.500000, -0.809017, 0.309017}, -0.500000f, -0.809017f, 0.309017f},
{ {
-0.238856, -0.864188, 0.442863}, -0.238856f, -0.864188f, 0.442863f},
{ {
-0.262866, -0.951056, 0.162460}, -0.262866f, -0.951056f, 0.162460f},
{ {
-0.864188, -0.442863, 0.238856}, -0.864188f, -0.442863f, 0.238856f},
{ {
-0.809017, -0.309017, 0.500000}, -0.809017f, -0.309017f, 0.500000f},
{ {
-0.688191, -0.587785, 0.425325}, -0.688191f, -0.587785f, 0.425325f},
{ {
-0.681718, -0.147621, 0.716567}, -0.681718f, -0.147621f, 0.716567f},
{ {
-0.442863, -0.238856, 0.864188}, -0.442863f, -0.238856f, 0.864188f},
{ {
-0.587785, -0.425325, 0.688191}, -0.587785f, -0.425325f, 0.688191f},
{ {
-0.309017, -0.500000, 0.809017}, -0.309017f, -0.500000f, 0.809017f},
{ {
-0.147621, -0.716567, 0.681718}, -0.147621f, -0.716567f, 0.681718f},
{ {
-0.425325, -0.688191, 0.587785}, -0.425325f, -0.688191f, 0.587785f},
{ {
-0.162460, -0.262866, 0.951056}, -0.162460f, -0.262866f, 0.951056f},
{ {
0.442863, -0.238856, 0.864188}, 0.442863f, -0.238856f, 0.864188f},
{ {
0.162460, -0.262866, 0.951056}, 0.162460f, -0.262866f, 0.951056f},
{ {
0.309017, -0.500000, 0.809017}, 0.309017f, -0.500000f, 0.809017f},
{ {
0.147621, -0.716567, 0.681718}, 0.147621f, -0.716567f, 0.681718f},
{ {
0.000000, -0.525731, 0.850651}, 0.000000f, -0.525731f, 0.850651f},
{ {
0.425325, -0.688191, 0.587785}, 0.425325f, -0.688191f, 0.587785f},
{ {
0.587785, -0.425325, 0.688191}, 0.587785f, -0.425325f, 0.688191f},
{ {
0.688191, -0.587785, 0.425325}, 0.688191f, -0.587785f, 0.425325f},
{ {
-0.955423, 0.295242, 0.000000}, -0.955423f, 0.295242f, 0.000000f},
{ {
-0.951056, 0.162460, 0.262866}, -0.951056f, 0.162460f, 0.262866f},
{ {
-1.000000, 0.000000, 0.000000}, -1.000000f, 0.000000f, 0.000000f},
{ {
-0.850651, 0.000000, 0.525731}, -0.850651f, 0.000000f, 0.525731f},
{ {
-0.955423, -0.295242, 0.000000}, -0.955423f, -0.295242f, 0.000000f},
{ {
-0.951056, -0.162460, 0.262866}, -0.951056f, -0.162460f, 0.262866f},
{ {
-0.864188, 0.442863, -0.238856}, -0.864188f, 0.442863f, -0.238856f},
{ {
-0.951056, 0.162460, -0.262866}, -0.951056f, 0.162460f, -0.262866f},
{ {
-0.809017, 0.309017, -0.500000}, -0.809017f, 0.309017f, -0.500000f},
{ {
-0.864188, -0.442863, -0.238856}, -0.864188f, -0.442863f, -0.238856f},
{ {
-0.951056, -0.162460, -0.262866}, -0.951056f, -0.162460f, -0.262866f},
{ {
-0.809017, -0.309017, -0.500000}, -0.809017f, -0.309017f, -0.500000f},
{ {
-0.681718, 0.147621, -0.716567}, -0.681718f, 0.147621f, -0.716567f},
{ {
-0.681718, -0.147621, -0.716567}, -0.681718f, -0.147621f, -0.716567f},
{ {
-0.850651, 0.000000, -0.525731}, -0.850651f, 0.000000f, -0.525731f},
{ {
-0.688191, 0.587785, -0.425325}, -0.688191f, 0.587785f, -0.425325f},
{ {
-0.587785, 0.425325, -0.688191}, -0.587785f, 0.425325f, -0.688191f},
{ {
-0.425325, 0.688191, -0.587785}, -0.425325f, 0.688191f, -0.587785f},
{ {
-0.425325, -0.688191, -0.587785}, -0.425325f, -0.688191f, -0.587785f},
{ {
-0.587785, -0.425325, -0.688191}, -0.587785f, -0.425325f, -0.688191f},
{ {
-0.688191, -0.587785, -0.425325}, -0.688191f, -0.587785f, -0.425325f},

View file

@ -0,0 +1,18 @@
#include "poly_renderer.cpp"
#include "drawers\poly_buffer.cpp"
#include "drawers\poly_draw_args.cpp"
#include "drawers\poly_triangle.cpp"
#include "drawers\screen_triangle.cpp"
#include "math\poly_intersection.cpp"
#include "math\tri_matrix.cpp"
#include "scene\poly_cull.cpp"
#include "scene\poly_decal.cpp"
#include "scene\poly_particle.cpp"
#include "scene\poly_plane.cpp"
#include "scene\poly_playersprite.cpp"
#include "scene\poly_portal.cpp"
#include "scene\poly_scene.cpp"
#include "scene\poly_sky.cpp"
#include "scene\poly_sprite.cpp"
#include "scene\poly_wall.cpp"
#include "scene\poly_wallsprite.cpp"

View file

@ -139,15 +139,15 @@ namespace swrenderer
void R_InitParticleTexture() void R_InitParticleTexture()
{ {
float center = PARTICLE_TEXTURE_SIZE * 0.5f; double center = PARTICLE_TEXTURE_SIZE * 0.5f;
for (int y = 0; y < PARTICLE_TEXTURE_SIZE; y++) for (int y = 0; y < PARTICLE_TEXTURE_SIZE; y++)
{ {
for (int x = 0; x < PARTICLE_TEXTURE_SIZE; x++) for (int x = 0; x < PARTICLE_TEXTURE_SIZE; x++)
{ {
float dx = (center - x - 0.5f) / center; double dx = (center - x - 0.5f) / center;
float dy = (center - y - 0.5f) / center; double dy = (center - y - 0.5f) / center;
float dist2 = dx * dx + dy * dy; double dist2 = dx * dx + dy * dy;
float alpha = clamp(1.1f - dist2 * 1.1f, 0.0f, 1.0f); double alpha = clamp<double>(1.1f - dist2 * 1.1f, 0.0f, 1.0f);
particle_texture[x + y * PARTICLE_TEXTURE_SIZE] = (int)(alpha * 128.0f + 0.5f); particle_texture[x + y * PARTICLE_TEXTURE_SIZE] = (int)(alpha * 128.0f + 0.5f);
} }

42
src/swrenderer/r_all.cpp Normal file
View file

@ -0,0 +1,42 @@
#include "r_memory.cpp"
#include "r_renderthread.cpp"
#include "r_swcanvas.cpp"
#include "r_swrenderer.cpp"
#include "drawers\r_draw.cpp"
#include "drawers\r_draw_pal.cpp"
#include "drawers\r_draw_rgba.cpp"
#include "drawers\r_thread.cpp"
#include "line\r_fogboundary.cpp"
#include "line\r_line.cpp"
#include "line\r_renderdrawsegment.cpp"
#include "line\r_walldraw.cpp"
#include "line\r_wallsetup.cpp"
#include "plane\r_flatplane.cpp"
#include "plane\r_planerenderer.cpp"
#include "plane\r_skyplane.cpp"
#include "plane\r_slopeplane.cpp"
#include "plane\r_visibleplane.cpp"
#include "plane\r_visibleplanelist.cpp"
#include "scene\r_3dfloors.cpp"
#include "scene\r_light.cpp"
#include "scene\r_opaque_pass.cpp"
#include "scene\r_portal.cpp"
#include "scene\r_scene.cpp"
#include "scene\r_translucent_pass.cpp"
#include "segments\r_clipsegment.cpp"
#include "segments\r_drawsegment.cpp"
#include "segments\r_portalsegment.cpp"
#include "things\r_decal.cpp"
#include "things\r_particle.cpp"
#include "things\r_playersprite.cpp"
#include "things\r_sprite.cpp"
#include "things\r_visiblesprite.cpp"
#include "things\r_visiblespritelist.cpp"
#include "things\r_voxel.cpp"
#include "things\r_wallsprite.cpp"
#include "viewport\r_drawerargs.cpp"
#include "viewport\r_skydrawer.cpp"
#include "viewport\r_spandrawer.cpp"
#include "viewport\r_spritedrawer.cpp"
#include "viewport\r_viewport.cpp"
#include "viewport\r_walldrawer.cpp"