Package fcagnin.jgltut.framework

Examples of fcagnin.jgltut.framework.Timer


                return currTimer.update( getElapsedTime() );
            }

            void startAnimation(int destinationIndex, float duration) {
                finalOrientIndex = destinationIndex;
                currTimer = new Timer( Timer.Type.SINGLE, duration );
            }
View Full Code Here


*
* @author integeruser
*/
class LightManager {
    LightManager() {
        sunTimer = new Timer( Timer.Type.LOOP, 30.0f );

        ambientInterpolator = new TimedLinearInterpolatorVec4();
        backgroundInterpolator = new TimedLinearInterpolatorVec4();
        sunlightInterpolator = new TimedLinearInterpolatorVec4();
        maxIntensityInterpolator = new TimedLinearInterpolatorFloat();

        lightPos = new ArrayList<>();
        lightIntensity = new ArrayList<>();
        lightTimers = new ArrayList<>();

        extraTimers = new HashMap<>();

        lightPos.add( new ConstVelLinearInterpolatorVec3() );
        lightPos.add( new ConstVelLinearInterpolatorVec3() );
        lightPos.add( new ConstVelLinearInterpolatorVec3() );

        for ( int i = 0; i < NUMBER_OF_POINT_LIGHTS; i++ ) {
            lightIntensity.add( new Vec4( 0.2f, 0.2f, 0.2f, 1.0f ) );
        }

        ArrayList<Vec3> posValues = new ArrayList<>();

        posValues.add( new Vec3( -50.0f, 30.0f, 70.0f ) );
        posValues.add( new Vec3( -70.0f, 30.0f, 50.0f ) );
        posValues.add( new Vec3( -70.0f, 30.0f, -50.0f ) );
        posValues.add( new Vec3( -50.0f, 30.0f, -70.0f ) );
        posValues.add( new Vec3( 50.0f, 30.0f, -70.0f ) );
        posValues.add( new Vec3( 70.0f, 30.0f, -50.0f ) );
        posValues.add( new Vec3( 70.0f, 30.0f, 50.0f ) );
        posValues.add( new Vec3( 50.0f, 30.0f, 70.0f ) );
        lightPos.get( 0 ).setValues( posValues );
        lightTimers.add( new Timer( Timer.Type.LOOP, 15.0f ) );

        // Right-side light.
        posValues = new ArrayList<>();
        posValues.add( new Vec3( 100.0f, 6.0f, 75.0f ) );
        posValues.add( new Vec3( 90.0f, 8.0f, 90.0f ) );
        posValues.add( new Vec3( 75.0f, 10.0f, 100.0f ) );
        posValues.add( new Vec3( 60.0f, 12.0f, 90.0f ) );
        posValues.add( new Vec3( 50.0f, 14.0f, 75.0f ) );
        posValues.add( new Vec3( 60.0f, 16.0f, 60.0f ) );
        posValues.add( new Vec3( 75.0f, 18.0f, 50.0f ) );
        posValues.add( new Vec3( 90.0f, 20.0f, 60.0f ) );
        posValues.add( new Vec3( 100.0f, 22.0f, 75.0f ) );
        posValues.add( new Vec3( 90.0f, 24.0f, 90.0f ) );
        posValues.add( new Vec3( 75.0f, 26.0f, 100.0f ) );
        posValues.add( new Vec3( 60.0f, 28.0f, 90.0f ) );
        posValues.add( new Vec3( 50.0f, 30.0f, 75.0f ) );

        posValues.add( new Vec3( 105.0f, 9.0f, -70.0f ) );
        posValues.add( new Vec3( 105.0f, 10.0f, -90.0f ) );
        posValues.add( new Vec3( 72.0f, 20.0f, -90.0f ) );
        posValues.add( new Vec3( 72.0f, 22.0f, -70.0f ) );
        posValues.add( new Vec3( 105.0f, 32.0f, -70.0f ) );
        posValues.add( new Vec3( 105.0f, 34.0f, -90.0f ) );
        posValues.add( new Vec3( 72.0f, 44.0f, -90.0f ) );

        lightPos.get( 1 ).setValues( posValues );
        lightTimers.add( new Timer( Timer.Type.LOOP, 25.0f ) );

        // Left-side light.
        posValues = new ArrayList<>();
        posValues.add( new Vec3( -7.0f, 35.0f, 1.0f ) );
        posValues.add( new Vec3( 8.0f, 40.0f, -14.0f ) );
        posValues.add( new Vec3( -7.0f, 45.0f, -29.0f ) );
        posValues.add( new Vec3( -22.0f, 50.0f, -14.0f ) );
        posValues.add( new Vec3( -7.0f, 55.0f, 1.0f ) );
        posValues.add( new Vec3( 8.0f, 60.0f, -14.0f ) );
        posValues.add( new Vec3( -7.0f, 65.0f, -29.0f ) );

        posValues.add( new Vec3( -83.0f, 30.0f, -92.0f ) );
        posValues.add( new Vec3( -98.0f, 27.0f, -77.0f ) );
        posValues.add( new Vec3( -83.0f, 24.0f, -62.0f ) );
        posValues.add( new Vec3( -68.0f, 21.0f, -77.0f ) );
        posValues.add( new Vec3( -83.0f, 18.0f, -92.0f ) );
        posValues.add( new Vec3( -98.0f, 15.0f, -77.0f ) );

        posValues.add( new Vec3( -50.0f, 8.0f, 25.0f ) );
        posValues.add( new Vec3( -59.5f, 4.0f, 65.0f ) );
        posValues.add( new Vec3( -59.5f, 4.0f, 78.0f ) );
        posValues.add( new Vec3( -45.0f, 4.0f, 82.0f ) );
        posValues.add( new Vec3( -40.0f, 4.0f, 50.0f ) );
        posValues.add( new Vec3( -70.0f, 20.0f, 40.0f ) );
        posValues.add( new Vec3( -60.0f, 20.0f, 90.0f ) );
        posValues.add( new Vec3( -40.0f, 25.0f, 90.0f ) );

        lightPos.get( 2 ).setValues( posValues );
        lightTimers.add( new Timer( Timer.Type.LOOP, 15.0f ) );
    }
View Full Code Here

        NUM_TIMER_TYPES
    }


    void createTimer(String timerName, Timer.Type timerType, float duration) {
        extraTimers.put( timerName, new Timer( timerType, duration ) );
    }
View Full Code Here

            throw new RuntimeException( "There must be a 'lightenv' element that has a 'sun' element as a child." );
        }

        float timerTime = Float.parseFloat( sunNode.getAttribute( "time" ) );

        sunTimer = new Timer( Timer.Type.LOOP, timerTime );

        ArrayList<LightData> ambient = new ArrayList<>();
        ArrayList<LightData> light = new ArrayList<>();
        ArrayList<LightData> background = new ArrayList<>();
        ArrayList<MaxIntensityData> maxIntensity = new ArrayList<>();

        {
            NodeList keys = sunNode.getElementsByTagName( "key" );
            Element key;
            int countKeys = 0;
            while ( (key = (Element) keys.item( countKeys )) != null ) {
                float keyTime = Float.parseFloat( key.getAttribute( "time" ) );
                // Convert from hours to normalized time.
                keyTime = keyTime / 24.0f;

                String strVec4 = key.getAttribute( "ambient" );
                ambient.add( new LightData( parseVec4( strVec4 ), keyTime ) );

                strVec4 = key.getAttribute( "intensity" );
                light.add( new LightData( parseVec4( strVec4 ), keyTime ) );

                strVec4 = key.getAttribute( "background" );
                background.add( new LightData( parseVec4( strVec4 ), keyTime ) );

                maxIntensity.add( new MaxIntensityData( Float.parseFloat( key.getAttribute( "max-intensity" ) ),
                        keyTime ) );

                countKeys++;
            }
        }

        ambientInterpolator.setValues( ambient );
        sunlightInterpolator.setValues( light );
        backgroundInterpolator.setValues( background );
        maxIntensityInterpolator.setValues( maxIntensity );

        {
            NodeList lights = lightEnvElement.getElementsByTagName( "light" );
            Element elemLight;
            int countLights = 0;
            while ( (elemLight = (Element) lights.item( countLights )) != null ) {

                if ( lightPos.size() + 1 == MAX_NUMBER_OF_LIGHTS ) {
                    throw new RuntimeException( "Too many lights specified." );
                }

                float lightTime = Float.parseFloat( elemLight.getAttribute( "time" ) );
                lightTimers.add( new Timer( Timer.Type.LOOP, lightTime ) );

                String strVec4 = elemLight.getAttribute( "intensity" );
                lightIntensity.add( parseVec4( strVec4 ) );

                ArrayList<Vec3> posValues = new ArrayList<>();
View Full Code Here

TOP

Related Classes of fcagnin.jgltut.framework.Timer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.