38 obj(NULL), z(0.0
f), min_z(0.0
f), max_z(1.0
f)
98 if ( model_num_a == model_num_b ) {
102 return model_num_a < model_num_b;
113 { { { -1.0f, -1.0f, -1.0f } } },
114 { { { -1.0f, -1.0f, 1.0f } } },
115 { { { -1.0f, 1.0f, -1.0f } } },
116 { { { -1.0f, 1.0f, 1.0f } } },
117 { { { 1.0f, -1.0f, -1.0f } } },
118 { { { 1.0f, -1.0f, 1.0f } } },
119 { { { 1.0f, 1.0f, -1.0f } } },
120 { { { 1.0f, 1.0f, 1.0f } } }
137 ubyte and_codes = 0xff;
139 for (i=0; i<8; i++ ) {
176 float fog_near, fog_far;
210 Sorted_objects.push_back(osp);
215 if(osp->
min_z < closest_obj)
216 closest_obj = osp->
min_z;
217 if(osp->
max_z > farthest_obj)
218 farthest_obj = osp->
max_z;
225 if ( Sorted_objects.empty() )
228 std::sort(Sorted_objects.begin(), Sorted_objects.end());
253 for (os = Sorted_objects.begin(); os != Sorted_objects.end(); ++os) {
254 object *
obj = os->obj;
264 (*draw_viewer_last) =
true;
287 effect_ships.push_back(obj);
289 (*render_function)(
obj);
294 transparent_objects.push_back(obj);
305 for (os = Sorted_objects.begin(); os != Sorted_objects.end(); ++os) {
306 object *
obj = os->obj;
330 (*render_function)(
obj);
333 Sorted_objects.clear();
379 effect_ships.push_back(objp);
weapon Weapons[MAX_WEAPONS]
#define SIF2_SHOW_SHIP_MODEL
bool operator<(const sorted_obj &other) const
void vm_vec_scale_add(vec3d *dest, const vec3d *src1, const vec3d *src2, float k)
#define MISSION_FLAG_FULLNEB
weapon_info Weapon_info[MAX_WEAPON_TYPES]
asteroid Asteroids[MAX_ASTEROIDS]
SCP_vector< sorted_obj > Sorted_objects
opengl_texture_state Texture
#define GR_FILL_MODE_SOLID
void profile_begin(const char *name)
SCP_vector< object * > transparent_objects
#define PROFILE(name, function)
#define gr_set_view_matrix
void batch_render_all(int stream_buffer)
#define gr_set_proj_matrix
struct matrix::@228::@230 vec
#define gr_deferred_lighting_end
void batch_render_man_thrusters()
void init_render(bool sort=true)
debris Debris[MAX_DEBRIS_PIECES]
ubyte g3_rotate_vector(vec3d *dest, const vec3d *src)
object Objects[MAX_OBJECTS]
void vm_vec_sub(vec3d *dest, const vec3d *src0, const vec3d *src1)
__inline void gr_fog_set(int fog_mode, int r, int g, int b, float fog_near=-1.0f, float fog_far=-1.0f)
void profile_end(const char *name)
SCP_vector< object * > effect_ships
void obj_render_all(void(*render_function)(object *objp), bool *draw_viewer_last)
int neb2_skip_render(object *objp, float z_depth)
bool shader_effect_active
void render_all(int depth_mode=-1)
void neb2_get_adjusted_fog_values(float *fnear, float *ffar, object *objp)
SCP_vector< ship_info > Ship_info
#define gr_deferred_lighting_begin
GLsizei GLsizei GLuint * obj
bool object_had_transparency
#define gr_reset_lighting
float vm_vec_dot(const vec3d *v0, const vec3d *v1)
#define gr_deferred_lighting_finish
bool obj_render_is_model(object *obj)
int obj_in_view_cone(object *objp)
void obj_queue_render(object *obj, draw_list *scene)
SCP_vector< asteroid_info > Asteroid_info
void obj_render_queue_all()