| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * PolyRadTool.h
- * Poly
- *
- * Created by Ivan Safrin on 9/25/08.
- * Copyright 2008 __MyCompanyName__. All rights reserved.
- *
- */
- // @package Scene
- #pragma once
- #include "PolyGlobals.h"
- #include "PolyGenericScene.h"
- #include "PolyLightmapPacker.h"
- #include "PolyPolygon.h"
- namespace Polycode {
- class GenericScene;
- class LightmapPacker;
- class LightmapFace;
- struct Lumel;
- class Polygon;
-
- class _PolyExport RadTool {
- public:
- RadTool(GenericScene *scene, LightmapPacker *packer);
- ~RadTool();
-
- void fiatLux(int radPasses);
-
- private:
-
- void applyLight(SceneLight *light);
- void lightLumel(SceneLight *light,Image *image, Lumel *lumel);
-
- void doRadiosityPass();
- void radLumel(Lumel *lumel,Image *image);
-
- bool worldRayTest(Vector3 origin, Vector3 destination, Polygon *hitPolygon);
- static bool rayTriangleIntersect(Vector3 ray_origin, Vector3 ray_direction, Vector3 vert0, Vector3 vert1, Vector3 vert2, Vector3 *hitPoint);
-
- GenericScene *scene;
- LightmapPacker *packer;
- };
- }
|