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

    这个类主要是用于记录碰撞数据的类,书中已经说的很清楚了。这个类之后会慢慢扩展,会在本随笔中扩展,先定义简单的,方便编译看看效果。

    类声明(World是之后主程序中的类,最后测试时再实现):

    #ifndef __SHADEREC_HEADER__
    #define __SHADEREC_HEADER__
    
    #include "ray.h"
    
    class World;
    
    class ShadeRec {
    public:
    	ShadeRec(World& wr);
    	~ShadeRec();
    	ShadeRec(const ShadeRec& sr);
    	bool hit_an_object;		
    	Point3 local_hit_point;	
    	Normal3 normal;
    	Ray ray;	
    	RGBColor color;
    	World& w;
    };
    #endif

    目前先记录是否碰撞,碰撞点,法线,光线以及碰撞后的颜色。

    类实现:

    #include "pch.h"
    #include "shaderec.h"
    #include "world.h" //这个文件头最后实现
    
    ShadeRec::ShadeRec(World& wr)
    	:hit_an_object(false), local_hit_point(), normal(), ray(), color(), w(wr) {}
    
    ShadeRec::~ShadeRec() {}
    
    ShadeRec::ShadeRec(const ShadeRec& sr)
    	: hit_an_object(sr.hit_an_object), local_hit_point(sr.local_hit_point), normal(sr.normal),
    	ray(sr.ray), color(sr.color), w(sr.w) {}

    -------------------------------------------------------------------------------------------------

  • 相关阅读:
    uva 10269(floyd+Dijkstra)
    Codeforces Round #223 (Div. 2) 解题报告
    uva 11280(Dijkstra+递推)
    uva 10246(变形floyd)
    闲来无事:跳台阶
    opencv和javacv版本不一致
    javaCV:爱之初体验
    mevan引入容联云通讯jar
    复杂度函数的表示
    MySQL与mabits大小比较、日期比较示例
  • 原文地址:https://www.cnblogs.com/dalgleish/p/12602726.html
Copyright © 2011-2022 走看看