glviewvol

annotate src/renderer.cc @ 10:89efc666105c

mostly done
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 31 Dec 2014 05:21:47 +0200
parents f22be47a3572
children 773f89037a35
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<MAX_CLIP_PLANES; i++) {
nuclear@4 11 disable_clipping_plane(i);
nuclear@4 12 }
nuclear@10 13
nuclear@10 14 zscale = 1.0;
nuclear@0 15 }
nuclear@0 16
nuclear@0 17 Renderer::~Renderer()
nuclear@0 18 {
nuclear@0 19 destroy();
nuclear@0 20 }
nuclear@0 21
nuclear@0 22 bool Renderer::init()
nuclear@0 23 {
nuclear@0 24 return true;
nuclear@0 25 }
nuclear@0 26
nuclear@0 27 void Renderer::destroy()
nuclear@0 28 {
nuclear@0 29 }
nuclear@0 30
nuclear@0 31 void Renderer::set_volume(Volume *vol)
nuclear@0 32 {
nuclear@0 33 this->vol = vol;
nuclear@0 34 }
nuclear@0 35
nuclear@0 36 Volume *Renderer::get_volume() const
nuclear@0 37 {
nuclear@0 38 return vol;
nuclear@0 39 }
nuclear@0 40
nuclear@10 41 void Renderer::set_zscale(float zs)
nuclear@10 42 {
nuclear@10 43 zscale = zs;
nuclear@10 44 }
nuclear@10 45
nuclear@10 46 float Renderer::get_zscale() const
nuclear@10 47 {
nuclear@10 48 return zscale;
nuclear@10 49 }
nuclear@10 50
nuclear@6 51 void Renderer::set_transfer_function(TransferFunc *xfer)
nuclear@4 52 {
nuclear@6 53 this->xfer = xfer;
nuclear@4 54 }
nuclear@4 55
nuclear@6 56 TransferFunc *Renderer::get_transfer_function() const
nuclear@4 57 {
nuclear@6 58 return xfer;
nuclear@5 59 }
nuclear@5 60
nuclear@4 61 void Renderer::set_clipping_plane(int idx, float nx, float ny, float nz, float dist)
nuclear@4 62 {
nuclear@4 63 float len = sqrt(nx * nx + ny * ny + nz * nz);
nuclear@4 64 if(len != 0.0) {
nuclear@4 65 nx /= len;
nuclear@4 66 ny /= len;
nuclear@4 67 nz /= len;
nuclear@4 68 }
nuclear@4 69 clip_plane[idx][0] = nx;
nuclear@4 70 clip_plane[idx][1] = ny;
nuclear@4 71 clip_plane[idx][2] = nz;
nuclear@4 72 clip_plane[idx][3] = dist;
nuclear@4 73 }
nuclear@4 74
nuclear@4 75 void Renderer::disable_clipping_plane(int idx)
nuclear@4 76 {
nuclear@4 77 clip_plane[idx][0] = clip_plane[idx][2] = 0;
nuclear@4 78 clip_plane[idx][1] = 1;
nuclear@4 79 clip_plane[idx][3] = -1;
nuclear@4 80 }
nuclear@4 81
nuclear@0 82 void Renderer::reshape(int x, int y)
nuclear@0 83 {
nuclear@0 84 view_width = x;
nuclear@0 85 view_height = y;
nuclear@0 86 }
nuclear@0 87
nuclear@0 88 void Renderer::update(unsigned int msec)
nuclear@0 89 {
nuclear@0 90 }