|
@@ -98,7 +98,7 @@ public: |
|
|
m_deltascale[i] = 1.0; |
|
|
m_deltascale[i] = 1.0; |
|
|
m_dirty[i] = 2; |
|
|
m_dirty[i] = 2; |
|
|
} |
|
|
} |
|
|
#if defined __CELLOS_LV2__ |
|
|
|
|
|
|
|
|
#if defined __CELLOS_LV2__ || defined _XBOX |
|
|
//m_center = f64cmplx(-.22815528839841, -1.11514249704382); |
|
|
//m_center = f64cmplx(-.22815528839841, -1.11514249704382); |
|
|
//m_center = f64cmplx(0.001643721971153, 0.822467633298876); |
|
|
//m_center = f64cmplx(0.001643721971153, 0.822467633298876); |
|
|
m_center = f64cmplx(-0.65823419062254, 0.50221777363480); |
|
|
m_center = f64cmplx(-0.65823419062254, 0.50221777363480); |
|
@@ -132,7 +132,7 @@ public: |
|
|
uint8_t red = r * 255.99f; |
|
|
uint8_t red = r * 255.99f; |
|
|
uint8_t green = g * 255.99f; |
|
|
uint8_t green = g * 255.99f; |
|
|
uint8_t blue = b * 255.99f; |
|
|
uint8_t blue = b * 255.99f; |
|
|
#if defined __CELLOS_LV2__ |
|
|
|
|
|
|
|
|
#if defined __CELLOS_LV2__ || defined _XBOX |
|
|
m_palette[i] = u8vec4(255, red, green, blue); |
|
|
m_palette[i] = u8vec4(255, red, green, blue); |
|
|
#elif defined __native_client__ |
|
|
#elif defined __native_client__ |
|
|
m_palette[i] = u8vec4(red, green, blue, 255); |
|
|
m_palette[i] = u8vec4(red, green, blue, 255); |
|
@@ -213,7 +213,7 @@ public: |
|
|
f64cmplx worldmouse = m_center + ScreenToWorldOffset(mousepos); |
|
|
f64cmplx worldmouse = m_center + ScreenToWorldOffset(mousepos); |
|
|
|
|
|
|
|
|
ivec3 buttons = Input::GetMouseButtons(); |
|
|
ivec3 buttons = Input::GetMouseButtons(); |
|
|
#if !defined __CELLOS_LV2__ |
|
|
|
|
|
|
|
|
#if !defined __CELLOS_LV2__ && !defined _XBOX |
|
|
if (buttons[1]) |
|
|
if (buttons[1]) |
|
|
{ |
|
|
{ |
|
|
if (!m_drag) |
|
|
if (!m_drag) |
|
@@ -273,7 +273,7 @@ public: |
|
|
zoom = 1e-14 / m_radius; |
|
|
zoom = 1e-14 / m_radius; |
|
|
} |
|
|
} |
|
|
m_radius *= zoom; |
|
|
m_radius *= zoom; |
|
|
#if !defined __CELLOS_LV2__ |
|
|
|
|
|
|
|
|
#if !defined __CELLOS_LV2__ && !defined _XBOX |
|
|
m_center += m_translate; |
|
|
m_center += m_translate; |
|
|
m_center = (m_center - worldmouse) * zoom + worldmouse; |
|
|
m_center = (m_center - worldmouse) * zoom + worldmouse; |
|
|
worldmouse = m_center + ScreenToWorldOffset(mousepos); |
|
|
worldmouse = m_center + ScreenToWorldOffset(mousepos); |
|
@@ -418,7 +418,7 @@ public: |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
#if defined __CELLOS_LV2__ |
|
|
|
|
|
|
|
|
#if defined __CELLOS_LV2__ || defined _XBOX |
|
|
*m_pixelstart++ = u8vec4(255, 0, 0, 0); |
|
|
*m_pixelstart++ = u8vec4(255, 0, 0, 0); |
|
|
#else |
|
|
#else |
|
|
*m_pixelstart++ = u8vec4(0, 0, 0, 255); |
|
|
*m_pixelstart++ = u8vec4(0, 0, 0, 255); |
|
@@ -469,6 +469,11 @@ public: |
|
|
# endif |
|
|
# endif |
|
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
|
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); |
|
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); |
|
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); |
|
|
|
|
|
#elif defined _XBOX |
|
|
|
|
|
/* By default the X360 will swizzle the texture. Ask for linear. */ |
|
|
|
|
|
g_d3ddevice->CreateTexture(m_size.x / 2, m_size.y * 2, 1, |
|
|
|
|
|
D3DUSAGE_WRITEONLY, D3DFMT_LIN_A8R8G8B8, |
|
|
|
|
|
D3DPOOL_DEFAULT, &m_tex, NULL); |
|
|
#else |
|
|
#else |
|
|
g_d3ddevice->CreateTexture(m_size.x / 2, m_size.y * 2, 1, |
|
|
g_d3ddevice->CreateTexture(m_size.x / 2, m_size.y * 2, 1, |
|
|
D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, |
|
|
D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, |
|
@@ -732,8 +737,12 @@ public: |
|
|
|
|
|
|
|
|
#if defined _XBOX || defined USE_D3D9 |
|
|
#if defined _XBOX || defined USE_D3D9 |
|
|
D3DLOCKED_RECT rect; |
|
|
D3DLOCKED_RECT rect; |
|
|
|
|
|
# if defined _XBOX |
|
|
|
|
|
m_tex->LockRect(0, &rect, NULL, D3DLOCK_NOOVERWRITE); |
|
|
|
|
|
# else |
|
|
m_tex->LockRect(0, &rect, NULL, |
|
|
m_tex->LockRect(0, &rect, NULL, |
|
|
D3DLOCK_DISCARD | D3DLOCK_NOOVERWRITE); |
|
|
D3DLOCK_DISCARD | D3DLOCK_NOOVERWRITE); |
|
|
|
|
|
# endif |
|
|
for (int j = 0; j < m_size.y * 2; j++) |
|
|
for (int j = 0; j < m_size.y * 2; j++) |
|
|
{ |
|
|
{ |
|
|
u8vec4 *line = (u8vec4 *)rect.pBits + j * rect.Pitch / 4; |
|
|
u8vec4 *line = (u8vec4 *)rect.pBits + j * rect.Pitch / 4; |
|
@@ -858,11 +867,11 @@ private: |
|
|
|
|
|
|
|
|
int main(int argc, char **argv) |
|
|
int main(int argc, char **argv) |
|
|
{ |
|
|
{ |
|
|
Application app("Tutorial 3: Fractal", ivec2(640, 480), 60.0f); |
|
|
|
|
|
|
|
|
Application app("Tutorial 3: Fractal", ivec2(640, 480, 60.0f); |
|
|
|
|
|
|
|
|
#if defined _MSC_VER |
|
|
|
|
|
|
|
|
#if defined _MSC_VER && !defined _XBOX |
|
|
_chdir(".."); |
|
|
_chdir(".."); |
|
|
#elif defined _WIN32 |
|
|
|
|
|
|
|
|
#elif defined _WIN32 && !defined _XBOX |
|
|
_chdir("../.."); |
|
|
_chdir("../.."); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|