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();
    }
    

      

  • 相关阅读:
    Java进阶知识查漏补缺06
    SQL学习记录(concat)
    Restful API学习
    git学习
    获得xmlhttp对象
    vue-cli初接触
    vue初接触
    java使用百度UNIT
    JSON学习
    通用Mapper警告:建议修改基本类型为对应的包装类型!
  • 原文地址:https://www.cnblogs.com/dalgleish/p/12602732.html
Copyright © 2011-2022 走看看