zoukankan      html  css  js  c++  java
  • Tracer类定义

    这个类主要是用于检测光线是否穿过球体。是核心,所有的碰撞都继承于这个类,书上也阐述了很多。详细就看书。

    类定义:

    #pragma once
    #ifndef __TRACER_HEADER__
    #define __TRACER_HEADER__
    
    #include "../../Types.h"
    
    class World;
    class Ray;
    class RGBColor;
    
    class Tracer {
    public:
    	Tracer(World* wr_ptr);
    	virtual ~Tracer();
    	virtual RGBColor trace_ray(const Ray& ray) const;
    	virtual RGBColor trace_ray(const Ray ray, const integer depth) const;
    protected:
    	World* world_ptr;
    private:
    	Tracer();
    };
    #endif  

    类实现:

    #include "pch.h"
    #include "tracer.h"
    #include "../utilities/world.h" //这个文件最后实现,因为时刻都在扩展,所以World类时刻都在修改
    
    Tracer::Tracer(World* wr_ptr) :world_ptr(wr_ptr) {}
    
    Tracer::~Tracer() {}
    
    RGBColor Tracer::trace_ray(const Ray& ray) const {
    	return RGBColor();
    }
    
    RGBColor Tracer::trace_ray(const Ray ray, const integer depth) const {
    	return RGBColor();
    }
    

      

  • 相关阅读:
    [SCOI2013]火柴棍数字(背包)
    [NOI2015]品酒大会
    后缀数组小结
    [POI2009]Slw
    [POI2009]Wie
    [POI2008]账本BBB
    ant语法和规范
    使用Hudson进行持续集成
    gnu make
    可信执行环境(TEE)介绍
  • 原文地址:https://www.cnblogs.com/dalgleish/p/12602732.html
Copyright © 2011-2022 走看看