From 4de0f8b1faef1798d6a6f368a4207c5dd761160a Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 10 Mar 2017 00:43:36 +0100 Subject: [PATCH] - 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. --- src/CMakeLists.txt | 152 +++++++------- src/gl/models/tab_anorms.h | 324 +++++++++++++++--------------- src/polyrenderer/poly_all.cpp | 18 ++ src/swrenderer/drawers/r_draw.cpp | 10 +- src/swrenderer/r_all.cpp | 42 ++++ 5 files changed, 306 insertions(+), 240 deletions(-) create mode 100644 src/polyrenderer/poly_all.cpp create mode 100644 src/swrenderer/r_all.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index aaf9aa0ba..d683ad961 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -790,27 +790,11 @@ file( GLOB HEADER_FILES *.h ) -# 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} - 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 +set ( SWRENDER_SOURCES swrenderer/r_swcanvas.cpp swrenderer/r_swrenderer.cpp swrenderer/r_memory.cpp swrenderer/r_renderthread.cpp - swrenderer/drawers/r_draw.cpp swrenderer/drawers/r_draw_pal.cpp swrenderer/drawers/r_draw_rgba.cpp swrenderer/drawers/r_thread.cpp @@ -848,6 +832,9 @@ set( FASTMATH_PCH_SOURCES swrenderer/plane/r_planerenderer.cpp swrenderer/plane/r_flatplane.cpp swrenderer/plane/r_slopeplane.cpp +) + +set( POLYRENDER_SOURCES polyrenderer/poly_renderer.cpp polyrenderer/scene/poly_scene.cpp polyrenderer/scene/poly_portal.cpp @@ -860,20 +847,39 @@ set( FASTMATH_PCH_SOURCES polyrenderer/scene/poly_wallsprite.cpp polyrenderer/scene/poly_sprite.cpp polyrenderer/scene/poly_sky.cpp - polyrenderer/drawers/poly_triangle.cpp polyrenderer/drawers/poly_buffer.cpp + polyrenderer/drawers/poly_triangle.cpp polyrenderer/drawers/poly_draw_args.cpp polyrenderer/drawers/screen_triangle.cpp polyrenderer/math/tri_matrix.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. # 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 fast math for some sources set( FASTMATH_SOURCES - ${FASTMATH_PCH_SOURCES} + swrenderer/r_all.cpp + polyrenderer/poly_all.cpp oplsynth/music_opldumper_mididevice.cpp oplsynth/music_opl_mididevice.cpp oplsynth/opl_mus_player.cpp @@ -903,39 +909,18 @@ set( FASTMATH_SOURCES sound/sndfile_decoder.cpp sound/music_pseudo_mididevice.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_vertexbuffer.cpp gl/dynlights/a_dynlight.cpp gl/utility/gl_clock.cpp gl/utility/gl_cycler.cpp gl/utility/gl_geometric.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/hq2x.cpp gl/hqnx/hq3x.cpp gl/hqnx/hq4x.cpp gl/xbr/xbrz.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_fakeflat.cpp gl/scene/gl_clipper.cpp @@ -953,42 +938,9 @@ set( FASTMATH_SOURCES gl/scene/gl_walls_draw.cpp gl/scene/gl_vertex.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_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/models/gl_models_md3.cpp - gl/models/gl_models_md2.cpp gl/models/gl_models.cpp - gl/models/gl_voxels.cpp ) set (PCH_SOURCES @@ -1152,6 +1104,60 @@ set (PCH_SOURCES g_statusbar/sbar_mugshot.cpp g_statusbar/shared_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/loadsavemenu.cpp menu/menu.cpp diff --git a/src/gl/models/tab_anorms.h b/src/gl/models/tab_anorms.h index 1d91fff4f..dfd9f691d 100644 --- a/src/gl/models/tab_anorms.h +++ b/src/gl/models/tab_anorms.h @@ -3,487 +3,487 @@ #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}, diff --git a/src/polyrenderer/poly_all.cpp b/src/polyrenderer/poly_all.cpp new file mode 100644 index 000000000..450454ca1 --- /dev/null +++ b/src/polyrenderer/poly_all.cpp @@ -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" diff --git a/src/swrenderer/drawers/r_draw.cpp b/src/swrenderer/drawers/r_draw.cpp index d7b4237ce..a4467266e 100644 --- a/src/swrenderer/drawers/r_draw.cpp +++ b/src/swrenderer/drawers/r_draw.cpp @@ -139,15 +139,15 @@ namespace swrenderer 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 x = 0; x < PARTICLE_TEXTURE_SIZE; x++) { - float dx = (center - x - 0.5f) / center; - float dy = (center - y - 0.5f) / center; - float dist2 = dx * dx + dy * dy; - float alpha = clamp(1.1f - dist2 * 1.1f, 0.0f, 1.0f); + double dx = (center - x - 0.5f) / center; + double dy = (center - y - 0.5f) / center; + double dist2 = dx * dx + dy * dy; + double alpha = clamp(1.1f - dist2 * 1.1f, 0.0f, 1.0f); particle_texture[x + y * PARTICLE_TEXTURE_SIZE] = (int)(alpha * 128.0f + 0.5f); } diff --git a/src/swrenderer/r_all.cpp b/src/swrenderer/r_all.cpp new file mode 100644 index 000000000..fb2e6a7e4 --- /dev/null +++ b/src/swrenderer/r_all.cpp @@ -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"