Ejemplo n.º 1
0
void SetEnvValues()
{
	int i;
	int hits = 0;
	for( i = 0; i < InitialFileCount; i++ )
	{
		double ft = OGGetFileTime( InitialFile[i] );
		if( FileTimes[i] != ft )
		{
			FileTimes[i] = ft;
			hits++;
		}
	}

	if( !hits ) return;

	//Otherwise, something changed.

	LoadFile( InitialFile[0] );

	for( i = 1; i < gargc; i++ )
	{
		if( strchr( gargv[i], '=' ) != 0 )
		{
			printf( "AP: %s\n", gargv[i] );
			SetParametersFromString( gargv[i] );
		}
		else
		{
			printf( "LF: %s\n", gargv[i] );
			LoadFile( gargv[i] );
		}
	}
}
Ejemplo n.º 2
0
void CheckForNewerShader( struct Shader * s )
{
	double VertTime = OGGetFileTime( s->VertexName );
	double FragTime = OGGetFileTime( s->FragmentName );

	if( s->LastFileTimeVertex != VertTime || s->LastFileTimeFragment != FragTime )
	{
		glDetachShader(s->program, s->vertex);
		glDetachShader(s->program, s->fragment );
		glDeleteShader(s->program);
		glDeleteShader(s->vertex );
		glDeleteShader(s->fragment );
		LoadShaderInPlace( s );
	}

	s->LastFileTimeVertex = VertTime;
	s->LastFileTimeFragment = FragTime;
}
Ejemplo n.º 3
0
struct Shader * CreateShader( const char * file )
{
	struct Shader * ret;
	int lnl = strlen( file );
	char * lfv, *lff;

	lfv = malloc( lnl + 8 );
	sprintf( lfv, "%s.vert", file );

	lff = malloc( lnl + 8 );
	sprintf( lff, "%s.frag", file );

	ret = malloc( sizeof( struct Shader ) );
	ret->VertexName = lfv;
	ret->FragmentName = lff;
	ret->LastFileTimeVertex = OGGetFileTime( lfv );
	ret->LastFileTimeFragment = OGGetFileTime( lff );

	LoadShaderInPlace( ret );

	return ret;
}