-
Notifications
You must be signed in to change notification settings - Fork 0
/
ImageTexture.cpp
66 lines (51 loc) · 1.83 KB
/
ImageTexture.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Copyright (C) Kevin Suffern 2000-2007.
// Revised by mp77 at 2012
// This C++ code is for non-commercial purposes only.
// This C++ code is licensed under the GNU General Public License Version 2.
// See the file COPYING.txt for the full license.
#include "ImageTexture.h"
#include <iostream>
// ---------------------------------------------------------------- default constructor
ImageTexture::ImageTexture(void)
{
hres = 100;
vres = 100;
image_ptr = NULL;
index = 0;
}
// ---------------------------------------------------------------- constructor
ImageTexture::ImageTexture(Image *_image_ptr)
{
hres = _image_ptr->get_hres();
vres = _image_ptr->get_vres();
image_ptr = _image_ptr;
index = 0;
}
// ---------------------------------------------------------------- copy constructor
// ---------------------------------------------------------------- assignment operator
ImageTexture &
ImageTexture::operator=(const ImageTexture &rhs)
{
hres = rhs.hres;
vres = rhs.vres;
std::cout << "Pasa h y v\n";
image_ptr = rhs.image_ptr;
std::cout << "Pasa igual: " << image_ptr << " y " << rhs.image_ptr << "\n";
}
// ---------------------------------------------------------------- clone
// ---------------------------------------------------------------- destructor
ImageTexture::~ImageTexture()
{
}
// ---------------------------------------------------------------- get_color
// When we ray trace a triangle mesh object with uv mapping, the mapping pointer may be NULL
// because we can define uv coordinates on an arbitrary triangle mesh.
// In this case we don't use the local hit point because the pixel coordinates are computed
// from the uv coordinates stored in the ShadeRec object in the uv triangles' hit functions
// See, for example, Listing 29.12.
ColorRGB
ImageTexture::get_color()
{
index++;
return (image_ptr->get_color(index));
}