Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/gameengine/Rasterizer')
-rw-r--r--source/gameengine/Rasterizer/RAS_ICanvas.h2
-rw-r--r--source/gameengine/Rasterizer/RAS_IRasterizer.h12
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp6
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h9
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp120
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h21
6 files changed, 48 insertions, 122 deletions
diff --git a/source/gameengine/Rasterizer/RAS_ICanvas.h b/source/gameengine/Rasterizer/RAS_ICanvas.h
index d90cbea286e..471c2c97fa1 100644
--- a/source/gameengine/Rasterizer/RAS_ICanvas.h
+++ b/source/gameengine/Rasterizer/RAS_ICanvas.h
@@ -237,6 +237,8 @@ public:
const char* filename
)=0;
+ virtual void GetDisplayDimensions(int &width, int &height) = 0;
+
virtual
void
ResizeWindow(
diff --git a/source/gameengine/Rasterizer/RAS_IRasterizer.h b/source/gameengine/Rasterizer/RAS_IRasterizer.h
index d7b52213191..aadecd56992 100644
--- a/source/gameengine/Rasterizer/RAS_IRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_IRasterizer.h
@@ -297,15 +297,11 @@ public:
/**
* Fog
*/
- virtual void SetFog(float start, float dist, float r, float g, float b) = 0;
- virtual void SetFogColor(float r, float g,float b) = 0;
- virtual void SetFogStart(float start) = 0;
- virtual void SetFogEnd(float end) = 0;
+ virtual void SetFog(short type, float start, float dist, float intensity, float color[3]) = 0;
virtual void DisplayFog() = 0;
- virtual void DisableFog() = 0;
- virtual bool IsFogEnabled() = 0;
+ virtual void EnableFog(bool enable) = 0;
- virtual void SetBackColor(float red, float green, float blue, float alpha) = 0;
+ virtual void SetBackColor(float color[3]) = 0;
/**
* \param drawingmode = KX_BOUNDINGBOX, KX_WIREFRAME, KX_SOLID, KX_SHADED or KX_TEXTURED.
@@ -380,7 +376,7 @@ public:
*/
virtual void SetEmissive(float eX, float eY, float eZ, float e) = 0;
- virtual void SetAmbientColor(float red, float green, float blue) = 0;
+ virtual void SetAmbientColor(float color[3]) = 0;
virtual void SetAmbient(float factor) = 0;
/**
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
index b3da5e1f812..34184f73953 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
@@ -79,10 +79,6 @@ void RAS_ListSlot::RemoveList()
void RAS_ListSlot::DrawList()
{
- if (m_flag &LIST_STREAM || m_flag& LIST_NOCREATE) {
- RemoveList();
- return;
- }
if (m_flag &LIST_MODIFY) {
if (m_flag &LIST_CREATE) {
if (m_list == 0) {
@@ -115,7 +111,7 @@ void RAS_ListSlot::SetModified(bool mod)
if (mod && !(m_flag & LIST_MODIFY)) {
spit("Modifying list (" << m_list << ")");
m_flag = m_flag &~ LIST_END;
- m_flag |= LIST_STREAM;
+ m_flag |= LIST_MODIFY;
}
}
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
index d394c72b2a2..5e1c662bc17 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
@@ -35,12 +35,9 @@ public:
enum RAS_ListSlotFlags {
LIST_CREATE =1,
LIST_MODIFY =2,
- LIST_STREAM =4,
- LIST_NOCREATE =8,
- LIST_BEGIN =16,
- LIST_END =32,
- LIST_REGEN =64,
- LIST_DERIVEDMESH=128,
+ LIST_BEGIN =4,
+ LIST_END =8,
+ LIST_DERIVEDMESH=16,
};
struct DerivedMesh;
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index 116a11339d9..95c153a7e2a 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -194,113 +194,52 @@ bool RAS_OpenGLRasterizer::Init()
}
-void RAS_OpenGLRasterizer::SetAmbientColor(float red, float green, float blue)
+void RAS_OpenGLRasterizer::SetAmbientColor(float color[3])
{
- m_ambr = red;
- m_ambg = green;
- m_ambb = blue;
+ m_ambr = color[0];
+ m_ambg = color[1];
+ m_ambb = color[2];
}
-
void RAS_OpenGLRasterizer::SetAmbient(float factor)
{
- float ambient[] = { m_ambr*factor, m_ambg*factor, m_ambb*factor, 1.0f };
+ float ambient[] = {m_ambr * factor, m_ambg * factor, m_ambb * factor, 1.0f};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient);
}
-
-void RAS_OpenGLRasterizer::SetBackColor(float red,
- float green,
- float blue,
- float alpha)
-{
- m_redback = red;
- m_greenback = green;
- m_blueback = blue;
- m_alphaback = alpha;
-}
-
-
-
-void RAS_OpenGLRasterizer::SetFogColor(float r,
- float g,
- float b)
-{
- m_fogr = r;
- m_fogg = g;
- m_fogb = b;
- m_fogenabled = true;
-}
-
-
-
-void RAS_OpenGLRasterizer::SetFogStart(float start)
+void RAS_OpenGLRasterizer::SetBackColor(float color[3])
{
- m_fogstart = start;
- m_fogenabled = true;
+ m_redback = color[0];
+ m_greenback = color[1];
+ m_blueback = color[2];
+ m_alphaback = 1.0f;
}
-
-
-void RAS_OpenGLRasterizer::SetFogEnd(float fogend)
+void RAS_OpenGLRasterizer::SetFog(short type, float start, float dist, float intensity, float color[3])
{
- m_fogdist = fogend;
- m_fogenabled = true;
+ float params[4] = {color[0], color[1], color[2], 1.0f};
+ glFogi(GL_FOG_MODE, GL_LINEAR);
+ glFogf(GL_FOG_DENSITY, intensity / 10.0f);
+ glFogf(GL_FOG_START, start);
+ glFogf(GL_FOG_END, start + dist);
+ glFogfv(GL_FOG_COLOR, params);
}
-
-
-void RAS_OpenGLRasterizer::SetFog(float start,
- float dist,
- float r,
- float g,
- float b)
+void RAS_OpenGLRasterizer::EnableFog(bool enable)
{
- m_fogstart = start;
- m_fogdist = dist;
- m_fogr = r;
- m_fogg = g;
- m_fogb = b;
- m_fogenabled = true;
+ m_fogenabled = enable;
}
-
-
-void RAS_OpenGLRasterizer::DisableFog()
-{
- m_fogenabled = false;
-}
-
-bool RAS_OpenGLRasterizer::IsFogEnabled()
-{
- return m_fogenabled;
-}
-
-
void RAS_OpenGLRasterizer::DisplayFog()
{
- if ((m_drawingmode >= KX_SOLID) && m_fogenabled)
- {
- float params[5];
- glFogi(GL_FOG_MODE, GL_LINEAR);
- glFogf(GL_FOG_DENSITY, 0.1f);
- glFogf(GL_FOG_START, m_fogstart);
- glFogf(GL_FOG_END, m_fogstart + m_fogdist);
- params[0] = m_fogr;
- params[1] = m_fogg;
- params[2] = m_fogb;
- params[3] = 0.0;
- glFogfv(GL_FOG_COLOR, params);
+ if ((m_drawingmode >= KX_SOLID) && m_fogenabled) {
glEnable(GL_FOG);
- }
- else
- {
+ }
+ else {
glDisable(GL_FOG);
}
}
-
-
bool RAS_OpenGLRasterizer::SetMaterial(const RAS_IPolyMaterial& mat)
{
return mat.Activate(this, m_materialCachingInfo);
@@ -1135,12 +1074,17 @@ void RAS_OpenGLRasterizer::SetMipmapping(MipmapOption val)
RAS_IRasterizer::MipmapOption RAS_OpenGLRasterizer::GetMipmapping()
{
- if (GPU_get_linear_mipmap())
- return RAS_IRasterizer::RAS_MIPMAP_LINEAR;
- else if (GPU_get_mipmap())
- return RAS_IRasterizer::RAS_MIPMAP_NEAREST;
- else
+ if (GPU_get_mipmap()) {
+ if (GPU_get_linear_mipmap()) {
+ return RAS_IRasterizer::RAS_MIPMAP_LINEAR;
+ }
+ else {
+ return RAS_IRasterizer::RAS_MIPMAP_NEAREST;
+ }
+ }
+ else {
return RAS_IRasterizer::RAS_MIPMAP_NONE;
+ }
}
void RAS_OpenGLRasterizer::SetUsingOverrideShader(bool val)
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
index 1334ddb2a26..b034315e3d6 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
@@ -80,12 +80,7 @@ class RAS_OpenGLRasterizer : public RAS_IRasterizer
/* fogging vars */
bool m_fogenabled;
- float m_fogstart;
- float m_fogdist;
- float m_fogr;
- float m_fogg;
- float m_fogb;
-
+
float m_redback;
float m_greenback;
float m_blueback;
@@ -198,16 +193,12 @@ public:
virtual const MT_Point3& GetCameraPosition();
virtual bool GetCameraOrtho();
- virtual void SetFog(float start, float dist, float r, float g, float b);
- virtual void SetFogColor(float r, float g, float b);
- virtual void SetFogStart(float fogstart);
- virtual void SetFogEnd(float fogend);
- void DisableFog();
+ virtual void SetFog(short type, float start, float dist, float intensity, float color[3]);
+ virtual void EnableFog(bool enable);
virtual void DisplayFog();
- virtual bool IsFogEnabled();
- virtual void SetBackColor(float red, float green, float blue, float alpha);
-
+ virtual void SetBackColor(float color[3]);
+
virtual void SetDrawingMode(int drawingmode);
virtual int GetDrawingMode();
@@ -227,7 +218,7 @@ public:
virtual void SetDiffuse(float difX, float difY, float difZ, float diffuse);
virtual void SetEmissive(float eX, float eY, float eZ, float e);
- virtual void SetAmbientColor(float red, float green, float blue);
+ virtual void SetAmbientColor(float color[3]);
virtual void SetAmbient(float factor);
virtual void SetPolygonOffset(float mult, float add);