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) {}

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

  • 相关阅读:
    MSN无法登录(错误代码80072745)的解决方法
    C#3.0新体验(二) 扩展方法
    My DreamTech
    让IE崩溃的bug, IE8也一样崩溃
    多线程的相关概念
    10条PHP经验总结
    PHP框架 CI与TP之MVC比较
    多线程设计要点
    Linux yum命令的使用技巧
    BigPipe 的工作原理
  • 原文地址:https://www.cnblogs.com/dalgleish/p/12602726.html
Copyright © 2011-2022 走看看