Go to the documentation of this file.
44 #ifndef SOFTWARERENDERER_HPP
45 #define SOFTWARERENDERER_HPP 1
63 cairo_surface_t *_surface;
71 Vec3D _material_diffuse_color;
72 Vec3D _material_ambient_color;
79 void swap(
int &x0,
int &y0,
double &z0,
80 int &x1,
int &y1,
double &z1 );
82 void set_pixel(
int i,
int j,
const Vec3D &color );
83 void clear(
const Vec3D &color );
84 void flat_2d_triangle(
int x0,
int y0,
double z0,
85 int x1,
int y1,
double z1,
86 int x2,
int y2,
double z2,
88 void line_2d(
int x0,
int y0,
double z0,
89 int x1,
int y1,
double z1,
106 virtual void start_rendering(
void );
107 virtual void end_rendering( cairo_t *cairo );
109 virtual void set_material_diffuse_color(
Vec3D color );
110 virtual void set_material_ambient_color(
Vec3D color );
111 virtual void set_color(
Vec3D color );
113 virtual void disable_lighting(
void );
114 virtual void enable_lighting(
void );
116 virtual void enable_view_settings(
void );
118 virtual void flat_triangle(
const Vec3D &x0,
122 virtual void shaded_triangle(
const Vec3D &x0,
const Vec3D &c0,
126 virtual void line(
const Vec3D &x0,
3D renderer base class.
Definition: renderer.hpp:56
Software 3D z-buffer renderer.
Definition: softwarerenderer.hpp:60
SoftwareRenderer(GtkWidget *darea)
Constructor for rendering to drawing area.
Definition: softwarerenderer.cpp:49
virtual ~SoftwareRenderer()
Destructor.
Definition: softwarerenderer.cpp:71
Three dimensional vector.
Definition: vec3d.hpp:58
Reference manual for Ion Beam Simulator 1.0.6dev
Generated by
Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.