glviewvol

annotate src/renderer.cc @ 4:04330eb80b36

lots of stuff
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 29 Dec 2014 05:41:36 +0200
parents 7bdf40403b9c
children 5417c25cb238
rev   line source
nuclear@4 1 #include <math.h>
nuclear@0 2 #include "renderer.h"
nuclear@0 3
nuclear@0 4 Renderer::Renderer()
nuclear@0 5 {
nuclear@0 6 vol = 0;
nuclear@0 7 view_width = 512;
nuclear@0 8 view_height = 512;
nuclear@4 9
nuclear@4 10 for(int i=0; i<3; i++) {
nuclear@4 11 xfer[i].set_point(0, 0);
nuclear@4 12 xfer[i].set_point(1, 1);
nuclear@4 13 }
nuclear@4 14
nuclear@4 15 for(int i=0; i<MAX_CLIP_PLANES; i++) {
nuclear@4 16 disable_clipping_plane(i);
nuclear@4 17 }
nuclear@0 18 }
nuclear@0 19
nuclear@0 20 Renderer::~Renderer()
nuclear@0 21 {
nuclear@0 22 destroy();
nuclear@0 23 }
nuclear@0 24
nuclear@0 25 bool Renderer::init()
nuclear@0 26 {
nuclear@0 27 return true;
nuclear@0 28 }
nuclear@0 29
nuclear@0 30 void Renderer::destroy()
nuclear@0 31 {
nuclear@0 32 }
nuclear@0 33
nuclear@0 34 void Renderer::set_volume(Volume *vol)
nuclear@0 35 {
nuclear@0 36 this->vol = vol;
nuclear@0 37 }
nuclear@0 38
nuclear@0 39 Volume *Renderer::get_volume() const
nuclear@0 40 {
nuclear@0 41 return vol;
nuclear@0 42 }
nuclear@0 43
nuclear@4 44 Curve &Renderer::transfer_curve(int color)
nuclear@4 45 {
nuclear@4 46 return xfer[color];
nuclear@4 47 }
nuclear@4 48
nuclear@4 49 const Curve &Renderer::transfer_curve(int color) const
nuclear@4 50 {
nuclear@4 51 return xfer[color];
nuclear@4 52 }
nuclear@4 53
nuclear@4 54 void Renderer::set_clipping_plane(int idx, float nx, float ny, float nz, float dist)
nuclear@4 55 {
nuclear@4 56 float len = sqrt(nx * nx + ny * ny + nz * nz);
nuclear@4 57 if(len != 0.0) {
nuclear@4 58 nx /= len;
nuclear@4 59 ny /= len;
nuclear@4 60 nz /= len;
nuclear@4 61 }
nuclear@4 62 clip_plane[idx][0] = nx;
nuclear@4 63 clip_plane[idx][1] = ny;
nuclear@4 64 clip_plane[idx][2] = nz;
nuclear@4 65 clip_plane[idx][3] = dist;
nuclear@4 66 }
nuclear@4 67
nuclear@4 68 void Renderer::disable_clipping_plane(int idx)
nuclear@4 69 {
nuclear@4 70 clip_plane[idx][0] = clip_plane[idx][2] = 0;
nuclear@4 71 clip_plane[idx][1] = 1;
nuclear@4 72 clip_plane[idx][3] = -1;
nuclear@4 73 }
nuclear@4 74
nuclear@0 75 void Renderer::reshape(int x, int y)
nuclear@0 76 {
nuclear@0 77 view_width = x;
nuclear@0 78 view_height = y;
nuclear@0 79 }
nuclear@0 80
nuclear@0 81 void Renderer::update(unsigned int msec)
nuclear@0 82 {
nuclear@0 83 }