1
0
mirror of https://github.com/Halofreak1990/XFXFramework synced 2024-12-26 13:49:34 +01:00
Halofreak1990 8f089dc2ab Added the current XFX directory tree.
WARNING!!! This revision cannot compile correctly. It is updated to reflect the many changes within the XFX project.
2010-12-04 16:14:34 +00:00

68 lines
2.6 KiB
C++

#ifndef _EFFECT_H_
#define _EFFECT_H_
#include <System.h>
#include <System/IO/Stream.h>
#include "Enums.h"
#include "EffectFunctionCollection.h"
#include "EffectPool.h"
#include "EffectParameterCollection.h"
#include "EffectTechnique.h"
#include "EffectTechniqueCollection.h"
#include "GraphicsDevice.h"
using namespace System;
using namespace System::IO;
namespace XFX
{
namespace Graphics
{
/// <summary>
/// Used to set and query effects and choose techniques.
/// </summary>
class Effect : public IDisposable
{
private:
int _isDisposed;
protected:
~Effect();
Effect(GraphicsDevice &graphicsDevice, Effect &cloneSource);
void Dispose(int disposing);
public:
String Creator();
EffectTechnique CurrentTechnique;
EffectPool EffectPool_();
EffectFunctionCollection Functions();
GraphicsDevice GraphicsDevice_();
int IsDisposed();
EffectParameterCollection Parameters();
EffectTechniqueCollection Techniques();
Effect(GraphicsDevice &graphicsDevice, byte effectCode[], CompilerOptions_t options, EffectPool &pool);
Effect(GraphicsDevice &graphicsDevice, String &effectCodeFile, CompilerOptions_t options, EffectPool &pool);
Effect(GraphicsDevice &graphicsDevice, Stream &effectCodeFileStream, CompilerOptions_t options, EffectPool &pool);
Effect(GraphicsDevice &graphicsDevice, Stream &effectCodeFileStream, int numberBytes, CompilerOptions_t options, EffectPool &pool);
void Begin();
void Begin(SaveStateMode_t saveStateMode);
virtual Effect Clone(GraphicsDevice &device);
void CommitChanges();
static CompiledEffect CompileEffectFromFile(String &effectFile, CompilerMacro preprocessorDefines[], CompilerIncludeHandler &includeHandler, CompilerOptions_t options, TargetPlatform_t &platform);
static CompiledEffect CompileEffectFromFile(Stream &effectFileStream, int numberBytes, CompilerMacro preprocessorDefines[], CompilerIncludeHandler &includeHandler, CompilerOptions_t options, TargetPlatform_t platform);
static CompiledEffect CompileEffectFromFile(Stream effectFileStream, CompilerMacro preprocessorDefines[], CompilerIncludeHandler &includeHandler, CompilerOptions_t options, TargetPlatform_t platform);
static CompiledEffect CompileEffectFromSource(String effectFileSource, CompilerMacro preprocessorDefines[], CompilerIncludeHandler &includeHandler, CompilerOptions_t options, TargetPlatform_t platform);
static String Disassemble(Effect &effect, int enableColorCode);
String Disassemble(bool enableColorCode);
void Dispose();
void End();
String ToString();
};
}
}
#endif //_EFFECT_H_