Compare commits
12 Commits
geometry-n
...
ge_dome
Author | SHA1 | Date | |
---|---|---|---|
![]() |
864dd794da | ||
![]() |
b8ba7c2be5 | ||
![]() |
c3fbb17e03 | ||
![]() |
aa8b86fcdf | ||
![]() |
9789543875 | ||
![]() |
6465dd50b9 | ||
![]() |
9ea1973082 | ||
![]() |
352d2be993 | ||
![]() |
007e665ced | ||
![]() |
ce2475321b | ||
![]() |
cc3a3a0875 | ||
b11c7a55c1 |
0
release/beos-4.5-i386/specific.sh
Executable file → Normal file
0
release/beos-4.5-i386/specific.sh
Executable file → Normal file
0
release/beos-5.0-i386/specific.sh
Executable file → Normal file
0
release/beos-5.0-i386/specific.sh
Executable file → Normal file
0
release/irix-6.2-mips/specific.sh
Executable file → Normal file
0
release/irix-6.2-mips/specific.sh
Executable file → Normal file
@@ -235,6 +235,7 @@ Scene *add_scene(char *name)
|
|||||||
sce->r.domesize = 1.0f;
|
sce->r.domesize = 1.0f;
|
||||||
sce->r.domeres = 4;
|
sce->r.domeres = 4;
|
||||||
sce->r.domeresbuf = 1.0f;
|
sce->r.domeresbuf = 1.0f;
|
||||||
|
sce->r.dometilt = 0;
|
||||||
|
|
||||||
sce->r.simplify_subsurf= 6;
|
sce->r.simplify_subsurf= 6;
|
||||||
sce->r.simplify_particles= 1.0f;
|
sce->r.simplify_particles= 1.0f;
|
||||||
@@ -790,4 +791,4 @@ void free_dome_warp_text(struct Text *txt)
|
|||||||
scene->r.dometext = NULL;
|
scene->r.dometext = NULL;
|
||||||
scene = scene->id.next;
|
scene = scene->id.next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8078,6 +8078,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
|
|||||||
sce->r.domesize = 1.0f;
|
sce->r.domesize = 1.0f;
|
||||||
sce->r.domeres = 4;
|
sce->r.domeres = 4;
|
||||||
sce->r.domeresbuf = 1.0f;
|
sce->r.domeresbuf = 1.0f;
|
||||||
|
sce->r.dometilt = 0;
|
||||||
}
|
}
|
||||||
/* DBVT culling by default */
|
/* DBVT culling by default */
|
||||||
for(wrld=main->world.first; wrld; wrld= wrld->id.next) {
|
for(wrld=main->world.first; wrld; wrld= wrld->id.next) {
|
||||||
|
@@ -318,7 +318,7 @@ typedef struct RenderData {
|
|||||||
|
|
||||||
/* Dome variables */
|
/* Dome variables */
|
||||||
short domeres, domemode;
|
short domeres, domemode;
|
||||||
short domeangle, pad9;
|
short domeangle, dometilt;
|
||||||
float domesize;
|
float domesize;
|
||||||
float domeresbuf;
|
float domeresbuf;
|
||||||
struct Text *dometext;
|
struct Text *dometext;
|
||||||
|
0
source/blender/python/api2_2x/doc/epy_docgen.sh
Executable file → Normal file
0
source/blender/python/api2_2x/doc/epy_docgen.sh
Executable file → Normal file
@@ -1833,13 +1833,14 @@ static uiBlock *framing_render_menu(void *arg_unused)
|
|||||||
uiBlockBeginAlign(block);
|
uiBlockBeginAlign(block);
|
||||||
uiDefButS(block, ROW, 0, "Dome", xco, yco-=30, 88, 19, &(G.scene->r.stereomode), 7.0, 8.0, 0, 0, "Enables dome camera");
|
uiDefButS(block, ROW, 0, "Dome", xco, yco-=30, 88, 19, &(G.scene->r.stereomode), 7.0, 8.0, 0, 0, "Enables dome camera");
|
||||||
uiDefButS(block, NUM, 0, "Ang:", xco+90, yco, 88, 19, &G.scene->r.domeangle, 90.0, 250.0, 0, 0, "Angle (Aperture) of the Dome - it only works in mode 1");
|
uiDefButS(block, NUM, 0, "Ang:", xco+90, yco, 88, 19, &G.scene->r.domeangle, 90.0, 250.0, 0, 0, "Angle (Aperture) of the Dome - it only works in mode 1");
|
||||||
uiDefButS(block, NUM, 0, "Mode:", xco+180, yco, 88, 19, &G.scene->r.domemode, 1.0, 3.0, 0, 0, "1 fisheye, 2 environment map, 3 spherical panoramic");
|
uiDefButS(block, NUM, 0, "Mode:", xco+180, yco, 88, 19, &G.scene->r.domemode, 1.0, 5.0, 0, 0, "1 fisheye, 2 environment map, 3 spherical panoramic, 4 front-truncated, 5 rear-truncated");
|
||||||
|
|
||||||
uiDefButF(block, NUM, 0, "Size:", xco, yco-=21, 88, 19, &G.scene->r.domesize, 0.5, 3.5, 0, 0, "Size adjustments");
|
uiDefButF(block, NUM, 0, "Size:", xco, yco-=21, 88, 19, &G.scene->r.domesize, 0.5, 3.5, 0, 0, "Size adjustments");
|
||||||
uiDefButS(block, NUM, 0, "Tes:", xco+90, yco, 88, 19, &G.scene->r.domeres, 1.0, 8.0, 0, 0, "Tesselation level - 1 to 8");
|
uiDefButS(block, NUM, 0, "Tes:", xco+90, yco, 88, 19, &G.scene->r.domeres, 1.0, 8.0, 0, 0, "Tesselation level - 1 to 8");
|
||||||
uiDefButF(block, NUM, 0, "Res:", xco+180, yco, 88, 19, &G.scene->r.domeresbuf, 0.1, 1.0, 0, 0, "Buffer Resolution - decrease it to increase speed");
|
uiDefButF(block, NUM, 0, "Res:", xco+180, yco, 88, 19, &G.scene->r.domeresbuf, 0.1, 1.0, 0, 0, "Buffer Resolution - decrease it to increase speed");
|
||||||
|
|
||||||
uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Warp Data: ", xco,yco-=21,268, 19, &G.scene->r.dometext, "Custom Warp Mesh data file");
|
uiDefButS(block, NUM, 0, "Tilt:", xco, yco-=21, 88, 19, &G.scene->r.dometilt, -359, 359, 0, 0, "Vertical Camera Tilt");
|
||||||
|
uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Warp Data: ", xco+90,yco,178, 19, &G.scene->r.dometext, "Custom Warp Mesh data file");
|
||||||
uiBlockEndAlign(block);
|
uiBlockEndAlign(block);
|
||||||
|
|
||||||
uiBlockSetDirection(block, UI_TOP);
|
uiBlockSetDirection(block, UI_TOP);
|
||||||
|
@@ -376,7 +376,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
|
|||||||
|
|
||||||
//initialize Dome Settings
|
//initialize Dome Settings
|
||||||
if(blscene->r.stereomode == RAS_IRasterizer::RAS_STEREO_DOME)
|
if(blscene->r.stereomode == RAS_IRasterizer::RAS_STEREO_DOME)
|
||||||
ketsjiengine->InitDome(blscene->r.domesize, blscene->r.domeres, blscene->r.domemode, blscene->r.domeangle, blscene->r.domeresbuf, blscene->r.dometext);
|
ketsjiengine->InitDome(blscene->r.domesize, blscene->r.domeres, blscene->r.domemode, blscene->r.domeangle, blscene->r.domeresbuf, blscene->r.dometilt, blscene->r.dometext);
|
||||||
|
|
||||||
if (sceneconverter)
|
if (sceneconverter)
|
||||||
{
|
{
|
||||||
|
@@ -701,7 +701,7 @@ bool GPG_Application::startEngine(void)
|
|||||||
|
|
||||||
//initialize Dome Settings
|
//initialize Dome Settings
|
||||||
if(m_startScene->r.stereomode == RAS_IRasterizer::RAS_STEREO_DOME)
|
if(m_startScene->r.stereomode == RAS_IRasterizer::RAS_STEREO_DOME)
|
||||||
m_ketsjiengine->InitDome(m_startScene->r.domesize, m_startScene->r.domeres, m_startScene->r.domemode, m_startScene->r.domeangle, m_startScene->r.domeresbuf, m_startScene->r.dometext);
|
m_ketsjiengine->InitDome(m_startScene->r.domesize, m_startScene->r.domeres, m_startScene->r.domemode, m_startScene->r.domeangle, m_startScene->r.domeresbuf, m_startScene->r.dometilt, m_startScene->r.dometext);
|
||||||
|
|
||||||
// Set the GameLogic.globalDict from marshal'd data, so we can
|
// Set the GameLogic.globalDict from marshal'd data, so we can
|
||||||
// load new blend files and keep data in GameLogic.globalDict
|
// load new blend files and keep data in GameLogic.globalDict
|
||||||
|
@@ -49,6 +49,7 @@ KX_Dome::KX_Dome (
|
|||||||
short mode, //mode - fisheye, truncated, warped, panoramic, ...
|
short mode, //mode - fisheye, truncated, warped, panoramic, ...
|
||||||
short angle,
|
short angle,
|
||||||
float resbuf, //size adjustment of the buffer
|
float resbuf, //size adjustment of the buffer
|
||||||
|
short tilt,
|
||||||
struct Text* warptext
|
struct Text* warptext
|
||||||
|
|
||||||
):
|
):
|
||||||
@@ -60,6 +61,7 @@ KX_Dome::KX_Dome (
|
|||||||
m_mode(mode),
|
m_mode(mode),
|
||||||
m_angle(angle),
|
m_angle(angle),
|
||||||
m_resbuffer(resbuf),
|
m_resbuffer(resbuf),
|
||||||
|
m_tilt(tilt),
|
||||||
m_canvas(canvas),
|
m_canvas(canvas),
|
||||||
m_rasterizer(rasterizer),
|
m_rasterizer(rasterizer),
|
||||||
m_rendertools(rendertools),
|
m_rendertools(rendertools),
|
||||||
@@ -1485,6 +1487,7 @@ Uses 4 cameras for angles up to 180
|
|||||||
Uses 5 cameras for angles up to 250<35>
|
Uses 5 cameras for angles up to 250<35>
|
||||||
Uses 6 cameras for angles up to 360<36>
|
Uses 6 cameras for angles up to 360<36>
|
||||||
*/
|
*/
|
||||||
|
int i;
|
||||||
float deg45 = MT_PI / 4;
|
float deg45 = MT_PI / 4;
|
||||||
MT_Scalar c = cos(deg45);
|
MT_Scalar c = cos(deg45);
|
||||||
MT_Scalar s = sin(deg45);
|
MT_Scalar s = sin(deg45);
|
||||||
@@ -1579,6 +1582,23 @@ Uses 6 cameras for angles up to 360
|
|||||||
0.0, 1.0, 0.0,
|
0.0, 1.0, 0.0,
|
||||||
s, 0.0, c);
|
s, 0.0, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_tilt)
|
||||||
|
{
|
||||||
|
printf("\n\n\\n\n\nTILTOU\n\n");
|
||||||
|
float degtilt = ((m_tilt % 360) * 2 * MT_PI) / 360;
|
||||||
|
c = cos(degtilt);
|
||||||
|
s = sin(degtilt);
|
||||||
|
|
||||||
|
MT_Matrix3x3 tilt_mat = MT_Matrix3x3(
|
||||||
|
1.0, 0.0, 0.0,
|
||||||
|
0.0, c, -s,
|
||||||
|
0.0, s, c
|
||||||
|
);
|
||||||
|
|
||||||
|
for (i =0;i<6;i++)
|
||||||
|
m_locRot[i] = tilt_mat * m_locRot[i];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void KX_Dome::RotateCamera(KX_Camera* cam, int i)
|
void KX_Dome::RotateCamera(KX_Camera* cam, int i)
|
||||||
|
@@ -67,6 +67,7 @@ public:
|
|||||||
short mode,
|
short mode,
|
||||||
short angle,
|
short angle,
|
||||||
float resbuf,
|
float resbuf,
|
||||||
|
short tilt,
|
||||||
struct Text* warptext
|
struct Text* warptext
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -166,6 +167,7 @@ protected:
|
|||||||
short m_angle; //the angle of the fisheye
|
short m_angle; //the angle of the fisheye
|
||||||
float m_radangle; //the angle of the fisheye in radians
|
float m_radangle; //the angle of the fisheye in radians
|
||||||
float m_resbuffer; //the resolution of the buffer
|
float m_resbuffer; //the resolution of the buffer
|
||||||
|
short m_tilt; //the camera vertical tilt
|
||||||
|
|
||||||
RAS_Rect m_viewport;
|
RAS_Rect m_viewport;
|
||||||
|
|
||||||
|
@@ -262,9 +262,9 @@ void KX_KetsjiEngine::SetSceneConverter(KX_ISceneConverter* sceneconverter)
|
|||||||
m_sceneconverter = sceneconverter;
|
m_sceneconverter = sceneconverter;
|
||||||
}
|
}
|
||||||
|
|
||||||
void KX_KetsjiEngine::InitDome(float size, short res, short mode, short angle, float resbuf, struct Text* text)
|
void KX_KetsjiEngine::InitDome(float size, short res, short mode, short angle, float resbuf, short tilt, struct Text* text)
|
||||||
{
|
{
|
||||||
m_dome = new KX_Dome(m_canvas, m_rasterizer, m_rendertools,this, size, res, mode, angle, resbuf, text);
|
m_dome = new KX_Dome(m_canvas, m_rasterizer, m_rendertools,this, size, res, mode, angle, resbuf, tilt, text);
|
||||||
m_usedome = true;
|
m_usedome = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -211,7 +211,7 @@ public:
|
|||||||
RAS_IRenderTools* GetRenderTools(){return m_rendertools;};
|
RAS_IRenderTools* GetRenderTools(){return m_rendertools;};
|
||||||
|
|
||||||
/// Dome functions
|
/// Dome functions
|
||||||
void InitDome(float size, short res, short mode, short angle, float resbuf, struct Text* text);
|
void InitDome(float size, short res, short mode, short angle, float resbuf, short tilt, struct Text* text);
|
||||||
void EndDome();
|
void EndDome();
|
||||||
void RenderDome();
|
void RenderDome();
|
||||||
bool m_usedome;
|
bool m_usedome;
|
||||||
|
Reference in New Issue
Block a user