CSC8502_Advanced_Graphics_For_Games / nclgl / Light.h
Light.h
Raw
#pragma once

#include "Vector4.h"
#include "Vector3.h"

class Light {
public: 
	Light() {}
	Light(const Vector3& position, const Vector4& colour, float radius) {
		this->position = position;
		this->colour = colour;
		this->radius = radius;
	}

	~Light(void) {};

	Vector3 GetPosition()const { return position; }
	void SetPosition(const Vector3& val) { position = val; }

	float GetRadius() const { return radius; }
	void SetRadius(float val) { radius = val; }

	Vector4 GetColour() const { return colour; }
	void SetColour(const Vector4& val) { colour = val; }

	bool castShadows() const { return shadows; }
	void setCastShadows(bool val) { shadows = val; }

	Vector3 getShadowDir() const { return shadowDir; }
	void setShadowDir(Vector3 dir) { shadowDir = dir; }
protected:
	Vector3 position;
	float radius;
	Vector4 colour;
	Vector3 shadowDir;
	bool shadows;
};