Commit graph

115 commits

Author SHA1 Message Date
Kp 99a4a0ed62 Capture range_for by-value temporaries as const
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug.  Require use of a by-reference
capture when modification is desired.

sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp 9794cfddc9 Move some local structs into anonymous namespaces 2015-01-24 19:16:34 +00:00
Kp 84e3a03451 Remove unused parameters 2015-01-18 01:58:33 +00:00
Kp a961b2c534 Reorder compare_children operations
Fold find_joining_side_norms into compare_children, then reorder to
defer unnecessary work.
2015-01-17 18:31:39 +00:00
Kp 80eda337cd Continue out of dead render segments sooner 2015-01-17 04:31:17 +00:00
Kp 229603b184 Rotate segment vertices once, not per side 2015-01-17 04:31:17 +00:00
Kp 2d0e8259ef Remove unnecessary multi-pass child sort 2015-01-17 04:31:17 +00:00
Kp 5402e8c546 Add unchecked_partial_range for ranges without end 2015-01-11 05:08:30 +00:00
Kp fbac119095 Propagate use of objptridx_t 2014-12-23 04:20:27 +00:00
Kp 702ea40ade Move segment declarations to fwdsegment.h 2014-12-22 04:35:49 +00:00
Kp 9ffd958d3d Create window_rendered_data locally 2014-12-18 04:12:38 +00:00
Kp 51b6fb1c95 Return get_side_verts by value 2014-12-14 05:23:00 +00:00
Kp adbff232c5 Split seg/obj vars of find_seg_side_face 2014-12-13 17:47:01 +00:00
Kp 3f52e3426a Skip unnecessary segment rendering phases
Make object rendering traverse only the subrange of segments with
objects.

Make alpha rendering traverse only the subrange of segments with alpha
blended textures.
2014-12-13 17:19:28 +00:00
Kp 0b086b1b0d Optimize rendering
- Make Max_linear_depth_objects const
- Skip setup of object rendering if no objects to render
- Defer setting globals until after conditional confirms a segment will
  render
2014-12-13 17:18:07 +00:00
Kp 84e3721ef0 Use partial_range for render list 2014-12-13 16:57:09 +00:00
Kp 69bc81681a Move render_windows to per_segment_state_t::render_window 2014-12-13 16:54:16 +00:00
Kp 7c98dea8be Pass render_frame arg by & 2014-12-13 04:11:21 +00:00
Kp b79e432a3e Pass render_mine arg by & 2014-12-13 04:11:16 +00:00
Kp 032332343d Pass do_render_object arg by & 2014-12-13 04:11:12 +00:00
Kp e027c821c9 Pass update_rendered_data arg by & 2014-12-13 04:11:04 +00:00
Kp 489c4e00a3 Store temporary rect locally 2014-12-11 02:33:55 +00:00
Kp cc60f765b3 Cache render lookups 2014-12-11 02:33:50 +00:00
Kp cf9675c505 Fix uninitialized variable in render reprocess 2014-12-08 01:02:08 +00:00
Kp 9aa539c062 Return texmerge_get_cached_bitmap result by & 2014-11-30 22:09:19 +00:00
Kp 968f7ddc97 Pass gr_gpixel arg by & 2014-11-30 22:09:18 +00:00
Kp 962045b911 Include <cstdlib> in render.cpp for std::abs
Reported by btb: https://github.com/dxx-rebirth/dxx-rebirth/pull/12
Fixed by btb: f80c4c17b6
2014-11-30 17:03:00 +00:00
Kp 0fa93d2e56 Track render window by & 2014-11-23 21:53:46 +00:00
Kp 2ddbdd6f11 Move processed into render_seg_map 2014-11-23 21:53:45 +00:00
Kp c495f48ccd Move Seg_depth into render_seg_map 2014-11-23 21:53:45 +00:00
Kp 0c3f350803 Cache object* in render object sort 2014-11-21 03:31:39 +00:00
Kp fb521e9b75 Sort objects without extra copying 2014-11-21 03:29:28 +00:00
Kp 98dcc26080 Make find_joining_side_norms vertex lookup more readable 2014-11-21 03:28:41 +00:00
Kp 1d0ba034a5 Store rendered objects in vector 2014-11-21 03:16:00 +00:00
Kp 2c349136cc Avoid slicing into segnum_t local 2014-11-20 03:00:36 +00:00
Kp 855b249555 Make g3s_point const only in OGL 2014-11-16 19:14:51 +00:00
Kp c2d308807c Make various g3s_point * const 2014-11-15 03:10:06 +00:00
Kp 8e0d85b666 Pass g3_draw_tmap arg by & 2014-11-13 03:44:04 +00:00
Kp ff13155fc2 Pass g3_project_point arg by & 2014-11-13 03:21:33 +00:00
Kp aba13a0bd0 Pass g3_draw_line arg by & 2014-11-13 03:19:52 +00:00
Kp d098d45499 Fix non-normalized dot product for SIDE_IS_QUAD render_side 2014-11-13 03:14:36 +00:00
Kp 655717db9d Move Player_head_angles into local scope 2014-11-13 03:14:03 +00:00
Kp 30e988fc5f Use std::sort for object rendering distance 2014-11-13 03:07:58 +00:00
Kp 01c38167de Avoid sqrt in rendering distance 2014-11-12 03:04:23 +00:00
Kp 5bb9c88979 Add vm_vec_sub that returns result 2014-10-29 03:24:31 +00:00
Kp 53aa70cecb Use vsegptridx_t 2014-10-28 03:08:51 +00:00
Kp 09835590f3 Pass g3_set_view_matrix arg by & 2014-10-26 22:01:00 +00:00
Kp a79bb365f9 Pass get_seg_masks arg by & 2014-10-26 21:28:38 +00:00
Kp 3412bf4b3a Make rotate_list input const 2014-10-26 03:24:09 +00:00
Kp a32547af16 Pass position-related vms_vector arg by & 2014-10-22 02:46:03 +00:00