Changeset 1100


Ignore:
Timestamp:
Nov 30, 2011, 7:31:26 PM (9 years ago)
Author:
gary
Message:

test: minor tuning, esp. for the PS3.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/tutorial/tut03.cpp

    r1097 r1100  
    8989        //m_center = f64cmplx(-.22815528839841, -1.11514249704382);
    9090        //m_center = f64cmplx(0.001643721971153, 0.822467633298876);
    91         m_center = f64cmplx(-0.65823419062254, .50221777363480);
    92         m_zoom_speed = 0;//-0.0025;
     91        m_center = f64cmplx(-0.65823419062254, 0.50221777363480);
     92        m_zoom_speed = -0.000025;
    9393#else
    9494        m_center = -0.75;
     
    120120            uint8_t green = g * 255.99f;
    121121            uint8_t blue = b * 255.99f;
    122 #if defined __native_client__
     122#if defined __CELLOS_LV2__
     123            m_palette[i] = u8vec4(255, red, green, blue);
     124#elif defined __native_client__
    123125            m_palette[i] = u8vec4(red, green, blue, 255);
    124126#else
     
    313315                helpers[slice].fractal = this;
    314316                helpers[slice].slice = slice;
    315                 helpers[slice].thread = new Thread(DoWorkHelper::Help,
    316                                                    &helpers[slice]);
     317//                helpers[slice].thread = new Thread(DoWorkHelper::Help,
     318//                                                   &helpers[slice]);
     319DoWork(slice);
    317320            }
    318321            for (int slice = 0; slice < m_slices; slice++)
    319322            {
    320                 delete helpers[slice].thread;
     323//                delete helpers[slice].thread;
    321324            }
    322325        }
     
    383386            else
    384387            {
     388#if defined __CELLOS_LV2__
     389                *m_pixelstart++ = u8vec4(255, 0, 0, 0);
     390#else
    385391                *m_pixelstart++ = u8vec4(0, 0, 0, 255);
     392#endif
    386393            }
    387394        }
     
    477484                      * this value. We add or remove a slight offset to avoid
    478485                      * rounding issues at the image's edges. */
    479                 "    v_IndexX = v_CenterX * u_ScreenSize.z - (offsets.zwzw + vec4(0.001, 0.002, 0.003, 0.004));"
    480                 "    v_IndexY = v_CenterY * u_ScreenSize.w - (offsets.zwwz + vec4(0.0015, 0.0025, 0.0035, 0.0045));"
     486                "    v_IndexX = v_CenterX * u_ScreenSize.z - offsets.zwzw;"
     487                "    v_IndexY = v_CenterY * u_ScreenSize.w - offsets.zwwz;"
    481488                "}",
    482489
     
    587594                "    v_CenterY = zoomscale * a_TexCoord.y - zoomty"
    588595                "              + offsets.xyyx * u_TexelSize.y;"
    589                 "    v_IndexX = v_CenterX * u_ScreenSize.z - (offsets.zwzw + float4(0.001, 0.002, 0.003, 0.004));"
    590                 "    v_IndexY = v_CenterY * u_ScreenSize.w - (offsets.zwwz + float4(0.0015, 0.0025, 0.0035, 0.0045));"
     596                "    v_IndexX = v_CenterX * u_ScreenSize.z - offsets.zwzw;"
     597                "    v_IndexY = v_CenterY * u_ScreenSize.w - offsets.zwwz;"
    591598                "}",
    592599
     
    595602                "          in float4 v_IndexX,"
    596603                "          in float4 v_IndexY,"
    597                 "          uniform float4 u_TexelSize,"
     604                "          uniform float4 u_TexelSize2,"
    598605                "          uniform sampler2D u_Texture,"
    599606                "          out float4 out_FragColor : COLOR)"
     
    601608                "    float4 v05 = float4(0.5, 0.5, 0.5, 0.5);"
    602609                "    float4 rx, ry, t0, dx, dy, dd;"
    603                 "    rx = u_TexelSize.x + u_TexelSize.z * floor(v_IndexX);"
    604                 "    ry = u_TexelSize.y + u_TexelSize.w * floor(v_IndexY);"
     610                "    rx = u_TexelSize2.x + u_TexelSize2.z * floor(v_IndexX);"
     611                "    ry = u_TexelSize2.y + u_TexelSize2.w * floor(v_IndexY);"
    605612                "    t0 = step(abs(rx - v05), v05) * step(abs(ry - v05), v05);"
    606613                "    dx = rx - v_CenterX;"
     
    614621                "    float t2 = step(dd.x, dd.y);"
    615622                "    ret.xy = lerp(ret.xz, ret.yw, t2);"
    616                      /* FIXME: above currently broken; fall back to this */
    617                 "    ret.xy = float2(v_CenterX.x, v_CenterY.x * 0.25);"
    618623                "    out_FragColor = tex2D(u_Texture, ret.xy);"
    619624                "}"
     
    623628            m_texattrib = m_shader->GetAttribLocation("a_TexCoord");
    624629            m_texeluni = m_shader->GetUniformLocation("u_TexelSize");
     630#if defined __CELLOS_LV2__
     631            m_texeluni2 = m_shader->GetUniformLocation("u_TexelSize2");
     632#endif
    625633            m_screenuni = m_shader->GetUniformLocation("u_ScreenSize");
    626634            m_zoomuni = m_shader->GetUniformLocation("u_ZoomSettings");
     
    670678        m_shader->Bind();
    671679        m_shader->SetUniform(m_texeluni, m_texel_settings);
     680#if defined __CELLOS_LV2__
     681        m_shader->SetUniform(m_texeluni2, m_texel_settings);
     682#endif
    672683        m_shader->SetUniform(m_screenuni, m_screen_settings);
    673684        m_shader->SetUniform(m_zoomuni, m_zoom_settings);
     
    722733#endif
    723734    int m_vertexattrib, m_texattrib, m_texeluni, m_screenuni, m_zoomuni;
     735#if defined __CELLOS_LV2__
     736    int m_texeluni2;
     737#endif
    724738    int m_frame, m_slices, m_dirty[4];
    725739    bool m_ready, m_drag;
Note: See TracChangeset for help on using the changeset viewer.