Compare commits
12 Commits
userpref_r
...
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.domeres = 4;
|
||||
sce->r.domeresbuf = 1.0f;
|
||||
sce->r.dometilt = 0;
|
||||
|
||||
sce->r.simplify_subsurf= 6;
|
||||
sce->r.simplify_particles= 1.0f;
|
||||
@@ -790,4 +791,4 @@ void free_dome_warp_text(struct Text *txt)
|
||||
scene->r.dometext = NULL;
|
||||
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.domeres = 4;
|
||||
sce->r.domeresbuf = 1.0f;
|
||||
sce->r.dometilt = 0;
|
||||
}
|
||||
/* DBVT culling by default */
|
||||
for(wrld=main->world.first; wrld; wrld= wrld->id.next) {
|
||||
|
@@ -318,7 +318,7 @@ typedef struct RenderData {
|
||||
|
||||
/* Dome variables */
|
||||
short domeres, domemode;
|
||||
short domeangle, pad9;
|
||||
short domeangle, dometilt;
|
||||
float domesize;
|
||||
float domeresbuf;
|
||||
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);
|
||||
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, "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");
|
||||
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");
|
||||
|
||||
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);
|
||||
|
||||
uiBlockSetDirection(block, UI_TOP);
|
||||
|
@@ -376,7 +376,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
|
||||
|
||||
//initialize Dome Settings
|
||||
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)
|
||||
{
|
||||
|
@@ -701,7 +701,7 @@ bool GPG_Application::startEngine(void)
|
||||
|
||||
//initialize Dome Settings
|
||||
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
|
||||
// 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 angle,
|
||||
float resbuf, //size adjustment of the buffer
|
||||
short tilt,
|
||||
struct Text* warptext
|
||||
|
||||
):
|
||||
@@ -60,6 +61,7 @@ KX_Dome::KX_Dome (
|
||||
m_mode(mode),
|
||||
m_angle(angle),
|
||||
m_resbuffer(resbuf),
|
||||
m_tilt(tilt),
|
||||
m_canvas(canvas),
|
||||
m_rasterizer(rasterizer),
|
||||
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 6 cameras for angles up to 360<36>
|
||||
*/
|
||||
int i;
|
||||
float deg45 = MT_PI / 4;
|
||||
MT_Scalar c = cos(deg45);
|
||||
MT_Scalar s = sin(deg45);
|
||||
@@ -1579,6 +1582,23 @@ Uses 6 cameras for angles up to 360
|
||||
0.0, 1.0, 0.0,
|
||||
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)
|
||||
|
@@ -67,6 +67,7 @@ public:
|
||||
short mode,
|
||||
short angle,
|
||||
float resbuf,
|
||||
short tilt,
|
||||
struct Text* warptext
|
||||
);
|
||||
|
||||
@@ -166,6 +167,7 @@ protected:
|
||||
short m_angle; //the angle of the fisheye
|
||||
float m_radangle; //the angle of the fisheye in radians
|
||||
float m_resbuffer; //the resolution of the buffer
|
||||
short m_tilt; //the camera vertical tilt
|
||||
|
||||
RAS_Rect m_viewport;
|
||||
|
||||
|
@@ -262,9 +262,9 @@ void KX_KetsjiEngine::SetSceneConverter(KX_ISceneConverter* 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;
|
||||
}
|
||||
|
||||
|
@@ -211,7 +211,7 @@ public:
|
||||
RAS_IRenderTools* GetRenderTools(){return m_rendertools;};
|
||||
|
||||
/// 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 RenderDome();
|
||||
bool m_usedome;
|
||||
|
Reference in New Issue
Block a user