Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Hery on August 09, 2009, 04:17:22 pm

Title: Post-processing
Post by: Hery on August 09, 2009, 04:17:22 pm
Hi,
I thought it would be nice if fs2_open supported post-processing...

Full pack (http://quarnos.org/dl/pp_build-20091111.zip) (patch, builds, demo mission, shaders)
Original pack (with some bugs): Full pack (http://www23.zippyshare.com/v/8878949/file.html)

Almost everything (but HUD and some other things) is rendered to a texture (using Frame Buffer Object) and then drawn using shaders pair "post-*.sdr". This enables huge number of new effects to use in fs2_open, I've implemented the simplest ones: (de)saturation, contrast, distort noise. Additionally, now it would be easy to implement full frame motion blur.

In order to customize post-processing effects I added three new sexps: set-saturation (0% - 100%), set-contrast (from -100% to +100%), set-distort-noise (0 - 100).

I believe this patch can be improved in the area of code reusability - I'm still not very familiar with all source code and fs2_open internal architecture doesn't help. Any feedback will be appreciated.

Post-procesing requires glsl and fbo enabled and flag -post_process set.

Example Screenshots:
Saturation: 0% (http://img14.imageshack.us/img14/4098/screen0015.jpg)
Saturation: 0%, Distort Noise: 50 (http://img14.imageshack.us/img14/7569/screen0016.jpg)
Saturation: 100%, Distort Noise: 50 (http://img188.imageshack.us/img188/7295/screen0017.jpg)

Demo mission after 5 seconds sets saturation to 0, then after next 10 seconds sets distort noise to 50, then after 15 seconds sets saturation back to 100% and finally after 10 seconds sets contrast to +25%.
Title: Re: Post-processing
Post by: Tolwyn on August 09, 2009, 04:44:07 pm
Interesting effect: would this allow HDR effects, like bloom?
Title: Re: Post-processing
Post by: Hery on August 09, 2009, 04:49:06 pm
Bloom, tone mapping, deferred shading, motion blur, heat haze, depth of field, etc - all these can be done using postprocessing.
Title: Re: Post-processing
Post by: The E on August 09, 2009, 04:59:12 pm
While this is certainly a good thing, I just have to ask if it wouldn't be a better idea to do a new rendering engine from the ground up, instead of hacking solutions like this into the existing code?
Title: Re: Post-processing
Post by: Hery on August 09, 2009, 05:09:33 pm
It appears that many things in fs2_open should be rewritten, but post-processing is relatively easy to implement and it is often quite independent from the other parts of code. What I want to say is that it will be very easy to adapt this patch to the new rendering engine. That's why I decided to implement it now, despite the fact I'm considering improving fs2_open architecture.
Title: Re: Post-processing
Post by: DaBrain on August 09, 2009, 05:11:06 pm
@The E

I agree, however... till somebody picks up the huge task of writing a new rendering engine, the graphical development of FS2 will stagnate.

For projects like SoL and Diaspora, a new rendering engine will probably be ready too late to be used in the release. (At least in the initial one.)


At least we already got normal maps for all our models, so in the end, the content can be used regardless of the rendering engine.
Title: Re: Post-processing
Post by: Sushi on August 09, 2009, 05:23:04 pm
Hery, you're my hero of the week. :) Nothing like having someone pop out of nowhere and drop some nifty engine enhancements to brighten the day!

Some quick questions, though:

1. What implications does this have in terms of video-card compatibility? What video card features are needed to support this? What happens if they aren't supported?

2. What impact does this have on overall performance and framerate?

I'm really excited about all of this. Thanks for the contributions! :D
Title: Re: Post-processing
Post by: The E on August 09, 2009, 05:27:21 pm
I can tell you that if your card can run the old shaders, these should pose no problem.
Title: Re: Post-processing
Post by: Hery on August 09, 2009, 05:38:43 pm
ad 2. Fortunately, performance loss is minimal (at least on my hardware) I haven't profiled it but while playing I haven't notice anything disturbing. Nevertheless, it will require more tests on bigger variety of hardware to know if there isn't any performance problem.
Title: Re: Post-processing
Post by: DaBrain on August 09, 2009, 06:06:00 pm
I'll test it on my notebook tomorrow. It has a slightly less powerful gfx chip (GF 9600M GT).

I think that should be around the lower mainstream class of gfx cards today. So pretty much the minimum for FS2 to run on decent quality settings.


P.S. You should just have received a PM from me.
Title: Re: Post-processing
Post by: Talon 1024 on August 09, 2009, 07:20:08 pm
This is awesome.  It doesn't just look fantastic, but you can use this to simulate a variety of things.  For example, combine medium noise distortion with radius 3 gaussian blur, and you'll be flying in heavy solar radiation.  Or desaturation and light noise distortion could simulate a camera on an old recon ship.  These simple effects might even help simulate depth of field.
Title: Re: Post-processing
Post by: Dragon on August 09, 2009, 07:29:03 pm
I think that second cutscene in BP: AoA
Spoiler:
which is a footage from escape pod's flight recorder showing Lucifer's attack on Earth
could benefit from saturation and noise features.
Title: Re: Post-processing
Post by: pecenipicek on August 09, 2009, 07:41:06 pm
lets put it this way. Intel E7500, Geforce 9600GT, 4 gigs of ram, vista x64. cinema 4d rendering out heavily in the background.

60 fps solid. didnt drop even once.


shaders give awesome sauce without much slowdowns on a graphic card thats considered out of date nowadays.
Title: Re: Post-processing
Post by: blackhole on August 09, 2009, 08:00:07 pm
Damn it, I never got around to doing this and now someone's gone and done it already. Damn it damn it damn it damn it...

On a totally unrelated note, however, this patch inherently would allow for HDR support. Just change the texture your rendering to to a 32-bit one.
Title: Re: Post-processing
Post by: Rodo on August 09, 2009, 08:00:28 pm
could also be used for those "dreamy missions" also ^^

nice adding there, thnks!
Title: Re: Post-processing
Post by: pecenipicek on August 09, 2009, 08:02:11 pm
Damn it, I never got around to doing this and now someone's gone and done it already. Damn it damn it damn it damn it...

On a totally unrelated note, however, this patch inherently would allow for HDR support. Just change the texture your rendering to to a 32-bit one.
i'm trying to wiggle out something similar, hackishly of course...
Title: Re: Post-processing
Post by: blackhole on August 09, 2009, 08:14:53 pm
I want to point out that while this system allows for simplistic effects, it does not inherently allow for either motion blur or HDR (at least not right now).

HDR requires multiple passes
Motion blur requires the previous frame to be stored in memory. This is usually done by using 2 framebuffer objects and swapping them out each frame. The previous texture must then also be passed to the shader.

While the second one could be hacked into the code fairly easily, the first is a little more difficult. This system would be of more benefit if the shader system in general was not completely bizarre. I'd code this myself but my code is way out of date and i don't have any goddamn time anymore :(

The problem is that as many people have pointed out, the current rendering engine makes implementing shaders in a sane way very difficult.

Note also that implementing HDR that uses tonemapping and doesn't make everything look stupid is also fairly difficult.
Title: Re: Post-processing
Post by: portej05 on August 09, 2009, 08:24:13 pm
Hery: Freakin awesome!

 :jaw:
Title: Re: Post-processing
Post by: Galemp on August 09, 2009, 08:26:58 pm
Wow... nice... I'd really like to see some distort noise applied instead of/along with that rumbling when you're in engine wash.

Distortion around shockwaves and bloom on beam impacts, if done subtly, could have amazing results.
Title: Re: Post-processing
Post by: blackhole on August 09, 2009, 08:33:42 pm
Distortion, however, is decidedly more difficult to implement then a simple postprocess shader, because it must be done as a square block take out of the final render, distorted, and then rendered back on, and thats if you want it to distort the entire screen. If you want z-aware distortion, it gets even more difficult.

Of course if you manage to do it, it looks awesome :P
Title: Re: Post-processing
Post by: Aardwolf on August 09, 2009, 08:36:57 pm
Might this be useful for the Diaspora guys?
Title: Re: Post-processing
Post by: pecenipicek on August 09, 2009, 08:56:14 pm
(http://img10.imageshack.us/img10/9936/screen0004u.th.jpg) (http://img10.imageshack.us/img10/9936/screen0004u.jpg)


Down here is the code for the post-f.sdr
I took it from here (http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/) and modified it a bit to work with the stuff that Hery put in. Also, note that it will be applied in every mission regardless of settings, if you dont use hery's mission. If you do use it, the effect dissappears when the other shaders kick in.

I know i'm a hack, however, i'm not pretending to know how to code, so i do the best i can and the best i know (in this case not much)...

Unfortunately, without a nice bright background, you're not gonna get it all that bright. it basically darkens the dark areas and brightens the bright ones.

Enjoy the hackBloom² shader :p
Code: [Select]
uniform sampler2D bgl_RenderedTexture;

#define FLAG_DISTORT_NOISE
#define FLAG_SATURATION
#define FLAG_CONTRAST

uniform sampler2D tex;

#ifdef FLAG_DISTORT_NOISE
uniform float timer;
uniform float noise_amount;
#endif

#ifdef FLAG_SATURATION
uniform float saturation;
#endif

#ifdef FLAG_CONTRAST
uniform float contrast;
#endif

void main()
{
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]);
   int j;
   int i;
   vec4 color_glo;
for( i= -12 ;i < 8; i++)
   {
        for (j = -2; j < 5; j++)
        {
            sum += texture2D(bgl_RenderedTexture, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(bgl_RenderedTexture, texcoord).r < 0.3)
    {
       color_glo = sum*sum*0.012 + texture2D(bgl_RenderedTexture, texcoord);
    }
    else
    {
        if (texture2D(bgl_RenderedTexture, texcoord).r < 0.5)
        {
            color_glo = sum*sum*0.012 + texture2D(bgl_RenderedTexture, texcoord);
        }
        else
        {
            color_glo = sum*sum*0.0125 + texture2D(bgl_RenderedTexture, texcoord);
        }
    }

#ifdef FLAG_DISTORT_NOISE
// Distort noise
float distort_factor = timer * sin(gl_TexCoord[0].x * gl_TexCoord[0].y * 100 + timer);
distort_factor = fmod(distort_factor, 8.0) * fmod(distort_factor, 4.0);

vec2 distort;
if (noise_amount > 0.0)
distort = vec2(fmod(distort_factor, noise_amount), fmod(distort_factor, noise_amount + 0.002));
else
distort = vec2(0, 0);
#else
vec2 distort = vec2(0, 0);
#endif

vec4 color_in = texture2D(tex, gl_TexCoord[0].xy + distort);

#ifdef FLAG_SATURATION
// Saturation
vec4 color_grayscale = dot(color_in, vec4(0.299, 0.587, 0.184, 0));
vec4 color_out = lerp(color_in, color_grayscale,  1 - saturation);
#else
vec4 color_out = color_in;
#endif

#ifdef FLAG_CONTRAST
// Contrast and brightness
vec3 Afactor = vec3(contrast, contrast, contrast);
vec3 Bfactor = vec3(0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast);
color_out.rgb = color_out.rgb * Afactor + Bfactor;
#endif


// Dithering
//float downsampling_factor = 4;
//float bias = 0.5;
//color_out.rgb = floor(color_out.rgb * downsampling_factor + bias) / downsampling_factor;

gl_FragColor = color_out * color_glo;
}

Also a version without Hery's effects, pure bloom.
Code: [Select]
uniform sampler2D bgl_RenderedTexture;

void main()
{
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]);
   int j;
   int i;
   vec4 color_glo;
for( i= -4 ;i < 4; i++)
   {
        for (j = -3; j < 3; j++)
        {
            sum += texture2D(bgl_RenderedTexture, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(bgl_RenderedTexture, texcoord).r < 0.3)
    {
       color_glo = sum*sum*0.012 + texture2D(bgl_RenderedTexture, texcoord);
    }
    else
    {
        if (texture2D(bgl_RenderedTexture, texcoord).r < 0.5)
        {
            color_glo = sum*sum*0.012 + texture2D(bgl_RenderedTexture, texcoord);
        }
        else
        {
            color_glo = sum*sum*0.0125 + texture2D(bgl_RenderedTexture, texcoord);
        }
    }

gl_FragColor = color_glo;
}

Title: Re: Post-processing
Post by: Commander Zane on August 09, 2009, 09:25:14 pm
Well last time I remember looking at "bloomed" screenshots everything including the HUD was effected, this looks pretty good.
Title: Re: Post-processing
Post by: karajorma on August 09, 2009, 09:26:32 pm
Might this be useful for the Diaspora guys?

Why pick on us? As far as I can see this would be useful for everyone. :D
Title: Re: Post-processing
Post by: Zacam on August 09, 2009, 09:28:47 pm
Could you imagine what, oh, Ransom could do with scripting or sexp triggering different shaders?

Hot damn.
Title: Re: Post-processing
Post by: pecenipicek on August 09, 2009, 09:38:55 pm
Could you imagine what, oh, Ransom could do with scripting or sexp triggering different shaders?

Hot damn.
Hery did use events for his transitions. Its refreshing to see a new member appear with such shinies xD

[edit] modified my post before with the shader just for bloom.

Well last time I remember looking at "bloomed" screenshots everything including the HUD was effected, this looks pretty good.
if i remember correctly, that was an ati driver-based shader called HDR-ish, not comparable to this, since this is rendered directly in-engine.
Title: Re: Post-processing
Post by: Lt.Cannonfodder on August 10, 2009, 12:24:28 am
Might this be useful for the Diaspora guys?
Give me slight desaturation, a bit of grain and just a touch of bloom and I'll be a happy dev.
Title: Re: Post-processing
Post by: pecenipicek on August 10, 2009, 12:28:15 am
by using the shader i have up there you could get just that. tweak the options a bit and you're set.
Title: Re: Post-processing
Post by: General Battuta on August 10, 2009, 12:31:43 am
Whoa. Could the masses get some screenshots of this?
Title: Re: Post-processing
Post by: pecenipicek on August 10, 2009, 12:40:08 am
as soon as i fix a showstopper bug... if there are enough bright things on screen, it simply blacks out. i'd wager that a buffer somewhere at a point decides to scream and says **** you.

also, disabling the hud while using the bloomy shader, results in the same effect. (this applies to all three postprocessing codes, Hery's, the mix of hery's and the bloomer, and the bloomer only)



also, hery's code seems ok, so its probably the additional framebuffer that kills the hud disableage. not 100% sure on this one, someone more experienced with OGL might want to check.
Title: Re: Post-processing
Post by: Tolwyn on August 10, 2009, 01:56:07 am
For projects like SoL and Diaspora, a new rendering engine will probably be ready too late to be used in the release.

Probably?  :nervous:
Title: Re: Post-processing
Post by: pecenipicek on August 10, 2009, 02:38:44 am
after extensive tracking and such, the bug is related to the additions enabling the post-processing switch and probably the extra code pertaining to the switch. i am currently looking for a way to implement the bloom into Hery's main shader "repack" :p



hacknslashhacknslashblaaargh..
Title: Re: Post-processing
Post by: Hery on August 10, 2009, 04:58:44 am
@pecenipicek: I modified your code, so now it works even when "my" effects are on. Unfortunately, current shaders system is not prepared to configure post-processing shaders using GLSL preprocessor.

Code: [Select]
#define FLAG_BLOOM
#define FLAG_DISTORT_NOISE
#define FLAG_SATURATION
#define FLAG_CONTRAST

uniform sampler2D tex;

#ifdef FLAG_DISTORT_NOISE
uniform float timer;
uniform float noise_amount;
#endif

#ifdef FLAG_SATURATION
uniform float saturation;
#endif

#ifdef FLAG_CONTRAST
uniform float contrast;
#endif

void main()
{

#ifdef FLAG_DISTORT_NOISE
// Distort noise
float distort_factor = timer * sin(gl_TexCoord[0].x * gl_TexCoord[0].y * 100 + timer);
distort_factor = fmod(distort_factor, 8.0) * fmod(distort_factor, 4.0);

vec2 distort;
if (noise_amount > 0.0)
distort = vec2(fmod(distort_factor, noise_amount), fmod(distort_factor, noise_amount + 0.002));
else
distort = vec2(0, 0);
#else
vec2 distort = vec2(0, 0);
#endif

#ifdef FLAG_BLOOM
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]) + distort;
   int j;
   int i;
   vec4 color_glo;
for( i= -12 ;i < 8; i++)
   {
        for (j = -2; j < 5; j++)
        {
            sum += texture2D(tex, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(tex, texcoord).r < 0.3)
    {
       color_glo = sum*sum*0.012 + texture2D(tex, texcoord);
    }
    else
    {
        if (texture2D(tex, texcoord).r < 0.5)
        {
            color_glo = sum*sum*0.012 + texture2D(tex, texcoord);
        }
        else
        {
            color_glo = sum*sum*0.0125 + texture2D(tex, texcoord);
        }
    }
vec4 color_in = color_glo;

#else
vec4 color_in = texture2D(tex, gl_TexCoord[0].xy + distort);
#endif

#ifdef FLAG_SATURATION
// Saturation
vec4 color_grayscale = dot(color_in, vec4(0.299, 0.587, 0.184, 0));
vec4 color_out = lerp(color_in, color_grayscale,  1 - saturation);
#else
vec4 color_out = color_in;
#endif

#ifdef FLAG_CONTRAST
// Contrast and brightness
vec3 Afactor = vec3(contrast, contrast, contrast);
vec3 Bfactor = vec3(0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast);
color_out.rgb = color_out.rgb * Afactor + Bfactor;
#endif

// Dithering
//float downsampling_factor = 4;
//float bias = 0.5;
//color_out.rgb = floor(color_out.rgb * downsampling_factor + bias) / downsampling_factor;

gl_FragColor = color_out;
}

I've also noticed that when for some reasons (file not found, compilation error) shaders are not enabled, post-processing uses fixed-pipeline and some problems appears (and in that case rendering to texture is pointless since there is no way to apply any effects to it). Despite the fact that behaviour is quite obvious, I forgot about it. Updated patch will be available soon :D

Update:
Problems when hud is disabled: solved. Keeping post processing enabled when impossible to use shaders: solved.
click (http://www20.zippyshare.com/v/27085826/file.html)
Title: Re: Post-processing
Post by: Nighteyes on August 10, 2009, 09:01:11 am
This looks excellent! great work! :D
cant wait to link it with capships explosions and the white "flash", turning up the contrast as well as the bloom effect for a few seconds :D
is there a way to implement this only when looking at something?
Title: Re: Post-processing
Post by: Colonol Dekker on August 10, 2009, 09:34:40 am
I'll test it on my notebook tomorrow. It has a slightly less powerful gfx chip (GF 9600M GT).

I think that should be around the lower mainstream class of gfx cards today. So pretty much the minimum for FS2 to run on decent quality settings.


I'm running on 2 8 series cards. Don't price me out of the upgrades yet. . .
Title: Re: Post-processing
Post by: chief1983 on August 10, 2009, 10:11:01 am
Has everyone doing any development related to this played HL2:  Lost Coast with the commentary on?  If not, do it MEOW.
Title: Re: Post-processing
Post by: Hery on August 10, 2009, 10:12:56 am
Problem with cutscenes: solved.
click (http://www15.zippyshare.com/v/18596846/file.html)

@Nighteyes: since saturation, contrast and distort noise are enabled by sexps, and bloom will be enabled by sexps, I don't think there will be any problem to do that :D
Title: Re: Post-processing
Post by: pecenipicek on August 10, 2009, 11:11:16 am
ah, yes, hery, in your shaders, it'd be better to use mix() instead of lerp() since lerp is a CG command, not GLSL... same goes for fmod.


also, nice work :D
Title: Re: Post-processing
Post by: Hery on August 10, 2009, 11:18:22 am
I started programming in GLSL a few days ago and Cg/HLSL habits still remain :P
Title: Re: Post-processing
Post by: Ace on August 10, 2009, 11:21:23 am
Might this be useful for the Diaspora guys?
Give me slight desaturation, a bit of grain and just a touch of bloom and I'll be a happy dev.

Contrast increase, not bloom, seems to be used more in the show. Anyway bloom is overused.
Title: Re: Post-processing
Post by: Ace on August 10, 2009, 11:23:15 am
Problem with cutscenes: solved.
click (http://www15.zippyshare.com/v/18596846/file.html)

@Nighteyes: since saturation, contrast and distort noise are enabled by sexps, and bloom will be enabled by sexps, I don't think there will be any problem to do that :D

It'd be pretty insane to set SEXPs for each and every capital ship that explodes though. It'd be nice to have something added to the current flash code, and have an "advanced flash" option that also adds these shaders.
Title: Re: Post-processing
Post by: Sushi on August 10, 2009, 11:29:56 am
Problem with cutscenes: solved.
click (http://www15.zippyshare.com/v/18596846/file.html)

@Nighteyes: since saturation, contrast and distort noise are enabled by sexps, and bloom will be enabled by sexps, I don't think there will be any problem to do that :D

It'd be pretty insane to set SEXPs for each and every capital ship that explodes though. It'd be nice to have something added to the current flash code, and have an "advanced flash" option that also adds these shaders.

That was my thought... some of these effects should probably end up as command-line options.
Title: Re: Post-processing
Post by: Lt.Cannonfodder on August 10, 2009, 12:43:08 pm
Contrast increase, not bloom, seems to be used more in the show. Anyway bloom is overused.
There's actually very little contrast increase done as such in composition stage of the show, but there's lots of bloom going on. And yea, bloom is way overused and I'm all in favor of a more subtle effect.
Title: Re: Post-processing
Post by: Hery on August 10, 2009, 01:06:43 pm
The following version of fragment shader should make bloom look better. However, I really don't like effects of blurring algorithm. IMO it will be better to blur smaller texture with more advanced algorithm, but that will require further changes in rendering engine. Anyways, it is still to early for good looking bloom.

Code: [Select]
#define FLAG_BLOOM
#define FLAG_DISTORT_NOISE
#define FLAG_SATURATION
#define FLAG_CONTRAST

uniform sampler2D tex;

#ifdef FLAG_DISTORT_NOISE
uniform float timer;
uniform float noise_amount;
#endif

#ifdef FLAG_SATURATION
uniform float saturation;
#endif

#ifdef FLAG_CONTRAST
uniform float contrast;
#endif

void main()
{

#ifdef FLAG_DISTORT_NOISE
// Distort noise
float distort_factor = timer * sin(gl_TexCoord[0].x * gl_TexCoord[0].y * 100 + timer);
distort_factor = fmod(distort_factor, 8.0) * fmod(distort_factor, 4.0);

vec2 distort;
if (noise_amount > 0.0)
distort = vec2(fmod(distort_factor, noise_amount), fmod(distort_factor, noise_amount + 0.002));
else
distort = vec2(0, 0);
#else
vec2 distort = vec2(0, 0);
#endif

#ifdef FLAG_BLOOM
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]) + distort;
   vec4 color_in = texture2D(tex, texcoord);

   int j;
   int i;
   vec4 color_glo;
for( i= -4 ;i < 4; i++)
   {
        for (j = -4; j < 4; j++)
        {
            sum += texture2D(tex, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(tex, texcoord).r < 0.3)
    {
       color_glo = pow(sum, 2.0)*0.012 + texture2D(tex, texcoord);
    }
    else
    {
        if (texture2D(tex, texcoord).r < 0.5)
        {
            color_glo = pow(sum, 2.0)*0.012 + texture2D(tex, texcoord);
        }
        else
        {
            color_glo = pow(sum, 2.0)*0.0125 + texture2D(tex, texcoord);
        }
    }
color_in = mix(color_in, color_glo, 0.6);

#else
vec4 color_in = texture2D(tex, gl_TexCoord[0].xy + distort);
#endif

#ifdef FLAG_SATURATION
// Saturation
vec4 color_grayscale = dot(color_in, vec4(0.299, 0.587, 0.184, 0));
vec4 color_out = lerp(color_in, color_grayscale,  1 - saturation);
#else
vec4 color_out = color_in;
#endif

#ifdef FLAG_CONTRAST
// Contrast and brightness
vec3 Afactor = vec3(contrast, contrast, contrast);
vec3 Bfactor = vec3(0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast);
color_out.rgb = color_out.rgb * Afactor + Bfactor;
#endif

// Dithering
//float downsampling_factor = 4;
//float bias = 0.5;
//color_out.rgb = floor(color_out.rgb * downsampling_factor + bias) / downsampling_factor;

gl_FragColor = color_out;
}
Title: Re: Post-processing
Post by: Zacam on August 10, 2009, 11:19:16 pm
Actually, for blooming capship deaths, why not modify the Flashy Death script to call to instancing of whatever effect you are looking for?
Title: Re: Post-processing
Post by: Reprobator on August 11, 2009, 02:54:27 am
it doesn't seems to work for me actually, maybe i did not install it the way it should.
i ve extract .sdr files in the roots directory run the 3.6.11 r build, activate the post process option in the launcher, then launch your mission but i did not notice anything.
I must have misplaced a file somewhere  :nervous:
Title: Re: Post-processing
Post by: The E on August 11, 2009, 03:09:08 am
it doesn't seems to work for me actually, maybe i did not install it the way it should.
i ve extract .sdr files in the roots directory run the 3.6.11 r build, activate the post process option in the launcher, then launch your mission but i did not notice anything.
I must have misplaced a file somewhere  :nervous:

The shaders belong in the data\effects directory.
Title: Re: Post-processing
Post by: Angelus on August 11, 2009, 05:59:16 am
Same here, can't get this to work, at least not in-mission, the menus otoh change their color from default blue to red, green and yellow in both, FS2 and BtRL.
This effect still occurs, even after i removed the files from the game directories, so  :wtf:.

The only thing i've noticed ( in-mission ) is that the sun bitmaps are a bit bloomy, but none of the new SEXPs seems to work. The shader files are in data/ effects, the launcher flags are set.

Running on a ATI RAdeon HD2600XT.
Title: Re: Post-processing
Post by: pecenipicek on August 11, 2009, 06:16:25 am
i had a feeling that it'd die the moment it touched ati. i'll test it later today on my laptop's HD3650...
Title: Re: Post-processing
Post by: Reprobator on August 11, 2009, 07:00:35 am
i got an ati too, that mat explain things  ;7
Title: Re: Post-processing
Post by: Hery on August 11, 2009, 07:31:36 am
Angelus, Reprobator: Could you run debug build and send me log it generates? (Data/fs2_open.log)
Title: Re: Post-processing
Post by: Colonol Dekker on August 11, 2009, 01:48:58 pm
How'd it go on peoples nvidia cards? The responses you provide will dictate whether I download this or not. . . . .
Title: Re: Post-processing
Post by: pecenipicek on August 11, 2009, 02:06:15 pm
nvidia works fine, i tested it all there.
Title: Re: Post-processing
Post by: Reprobator on August 11, 2009, 03:09:36 pm
Ok here it is :

Code: [Select]
==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.11
Passed cmdline options:
  -nomusic
  -spec_exp 15
  -ogl_spec 50
  -spec_static 1.7
  -spec_point 1.2
  -spec_tube 1.5
  -ambient_factor 5
  -env
  -mipmap
  -missile_lighting
  -glow
  -spec
  -normal
  -3dshockwave
  -post_process
  -ballistic_gauge
  -rearm_timer
  -targetinfo
  -3dwarp
  -ship_choice_3d
  -weapon_choice_3d
  -warp_flash
  -mod mediavp
Building file index...
Found root pack 'D:\jeux\Freespace2\mediavp\ma-sdrvfix.vp' with a checksum of 0xeb53ee0a
Found root pack 'D:\jeux\Freespace2\mediavp\MV_Complete.vp' with a checksum of 0x31df7754
Found root pack 'D:\jeux\Freespace2\Boomerang_3610.vp' with a checksum of 0xc6e5afc5
Found root pack 'D:\jeux\Freespace2\FS2OGGcutscenepack.vp' with a checksum of 0x84396e99
Found root pack 'D:\jeux\Freespace2\ma-sdrvfix.vp' with a checksum of 0xeb53ee0a
Found root pack 'D:\jeux\Freespace2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'D:\jeux\Freespace2\multi-voice-pack.vp' with a checksum of 0xd50e7442
Found root pack 'D:\jeux\Freespace2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'D:\jeux\Freespace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'D:\jeux\Freespace2\sparky_fs2.vp' with a checksum of 0x0389c962
Found root pack 'D:\jeux\Freespace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'D:\jeux\Freespace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'D:\jeux\Freespace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'D:\jeux\Freespace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'D:\jeux\Freespace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'D:\jeux\Freespace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'D:\jeux\Freespace2\mediavp\' ... 32 files
Searching root pack 'D:\jeux\Freespace2\mediavp\ma-sdrvfix.vp' ... 8 files
Searching root pack 'D:\jeux\Freespace2\mediavp\MV_Complete.vp' ... 5253 files
Searching root 'D:\jeux\Freespace2\' ... 302 files
Searching root pack 'D:\jeux\Freespace2\Boomerang_3610.vp' ... 94 files
Searching root pack 'D:\jeux\Freespace2\FS2OGGcutscenepack.vp' ... 10 files
Searching root pack 'D:\jeux\Freespace2\ma-sdrvfix.vp' ... 8 files
Searching root pack 'D:\jeux\Freespace2\multi-mission-pack.vp' ... 110 files
Searching root pack 'D:\jeux\Freespace2\multi-voice-pack.vp' ... 307 files
Searching root pack 'D:\jeux\Freespace2\root_fs2.vp' ... 157 files
Searching root pack 'D:\jeux\Freespace2\smarty_fs2.vp' ... 10 files
Searching root pack 'D:\jeux\Freespace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'D:\jeux\Freespace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'D:\jeux\Freespace2\stu_fs2.vp' ... 2355 files
Searching root pack 'D:\jeux\Freespace2\tango1_fs2.vp' ... 32 files
Searching root pack 'D:\jeux\Freespace2\tango2_fs2.vp' ... 15 files
Searching root pack 'D:\jeux\Freespace2\tango3_fs2.vp' ... 10 files
Searching root pack 'D:\jeux\Freespace2\warble_fs2.vp' ... 52 files
Searching root 'f:\' ... 0 files
Found 19 roots and 13119 files.
AutoLang: Language auto-detection successful...
Setting language to English
TBM  =>  Starting parse of 'mv_strings-lcl.tbm' ...
Initializing OpenAL...
  Using 'Generic Software' as OpenAL sound device...
  OpenAL Vendor     : Creative Labs Inc.
  OpenAL Renderer   : Software
  OpenAL Version    : 1.1

... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 3840x1024 with 32-bit color...
  Initializing WGL...
  Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  Actual WGL Video values    = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  OpenGL Vendor     : ATI Technologies Inc.
  OpenGL Renderer   : ATI Radeon HD 4800 Series
  OpenGL Version    : 2.1.8787

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Using extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Using extension "GL_SGIS_generate_mipmap".
  Using extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Using extension "GL_ARB_point_sprite".
  Using extension "GL_ARB_shading_language_100".
  Using extension "GL_ARB_shader_objects".
  Using extension "GL_ARB_vertex_shader".
  Using extension "GL_ARB_fragment_shader".
  Using extension "GL_ARB_shader_texture_lod".
  Found special extension function "wglSwapIntervalEXT".

  Compiling shader ->  null-v.sdr (null-v.sdr) / null-f.sdr (null-f.sdr) ...
  Compiling shader ->  b-v.sdr (b-v.sdr) / b-f.sdr (b-f.sdr) ...
  Compiling shader ->  b-v.sdr (b-v.sdr) / bg-f.sdr (bg-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / lb-f.sdr (lb-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / lbg-f.sdr (lbg-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / lbgs-f.sdr (lbgs-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / lbs-f.sdr (lbs-f.sdr) ...
  Compiling shader ->  le-v.sdr (le-v.sdr) / lbgse-f.sdr (lbgse-f.sdr) ...
  Compiling shader ->  le-v.sdr (le-v.sdr) / lbse-f.sdr (lbse-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lbgn-f.sdr (lbgn-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lbgsn-f.sdr (lbgsn-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lbn-f.sdr (lbn-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lbsn-f.sdr (lbsn-f.sdr) ...
  Compiling shader ->  lne-v.sdr (lne-v.sdr) / lbgsne-f.sdr (lbgsne-f.sdr) ...
  Compiling shader ->  lne-v.sdr (lne-v.sdr) / lbsne-f.sdr (lbsne-f.sdr) ...
  Compiling shader ->  lf-v.sdr (lf-v.sdr) / lfb-f.sdr (lfb-f.sdr) ...
  Compiling shader ->  lf-v.sdr (lf-v.sdr) / lfbg-f.sdr (lfbg-f.sdr) ...
  Compiling shader ->  lf-v.sdr (lf-v.sdr) / lfbgs-f.sdr (lfbgs-f.sdr) ...
  Compiling shader ->  lf-v.sdr (lf-v.sdr) / lfbs-f.sdr (lfbs-f.sdr) ...
  Compiling shader ->  lfe-v.sdr (lfe-v.sdr) / lfbgse-f.sdr (lfbgse-f.sdr) ...
  Compiling shader ->  lfe-v.sdr (lfe-v.sdr) / lfbse-f.sdr (lfbse-f.sdr) ...
  Compiling shader ->  lfn-v.sdr (lfn-v.sdr) / lfbgn-f.sdr (lfbgn-f.sdr) ...
  Compiling shader ->  lfn-v.sdr (lfn-v.sdr) / lfbgsn-f.sdr (lfbgsn-f.sdr) ...
  Compiling shader ->  lfn-v.sdr (lfn-v.sdr) / lfbn-f.sdr (lfbn-f.sdr) ...
  Compiling shader ->  lfn-v.sdr (lfn-v.sdr) / lfbsn-f.sdr (lfbsn-f.sdr) ...
  Compiling shader ->  lfne-v.sdr (lfne-v.sdr) / lfbgsne-f.sdr (lfbgsne-f.sdr) ...
  Compiling shader ->  lfne-v.sdr (lfne-v.sdr) / lfbsne-f.sdr (lfbsne-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / null-f.sdr (null-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / lg-f.sdr (lg-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / lgs-f.sdr (lgs-f.sdr) ...
  Compiling shader ->  l-v.sdr (l-v.sdr) / ls-f.sdr (ls-f.sdr) ...
  Compiling shader ->  le-v.sdr (le-v.sdr) / lgse-f.sdr (lgse-f.sdr) ...
  Compiling shader ->  le-v.sdr (le-v.sdr) / lse-f.sdr (lse-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lgn-f.sdr (lgn-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lgsn-f.sdr (lgsn-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / ln-f.sdr (ln-f.sdr) ...
  Compiling shader ->  ln-v.sdr (ln-v.sdr) / lsn-f.sdr (lsn-f.sdr) ...
  Compiling shader ->  lne-v.sdr (lne-v.sdr) / lgsne-f.sdr (lgsne-f.sdr) ...
  Compiling shader ->  lne-v.sdr (lne-v.sdr) / lsne-f.sdr (lsne-f.sdr) ...

  Max texture units: 8 (16)
  Max elements vertices: 2147483647
  Max elements indices: 16777215
  Max texture size: 8192x8192
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
  Using GLSL for model rendering.
  Shader Version: 1.30
... OpenGL init is complete!
Size of bitmap info = 705 KB
Size of bitmap extra info = 40 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
Wokka!  Error opening file (scripting.tbl)!
TABLES: Unable to parse 'scripting.tbl'!  Error code = 5.
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...
  Compiling post-processing shader ->  post-v.sdr / post-f.sdr ...
Fragment shader failed to compile:
Fragment shader failed to compile with the following errors:
WARNING: 0:26: implicit cast from int to float
ERROR: 0:27: 'fmod' : no matching overloaded function found
ERROR: 0:27: 'fmod' : no matching overloaded function found
ERROR: 0:31: 'fmod' : no matching overloaded function found
ERROR: 0:31: 'fmod' : no matching overloaded function found
ERROR: 0:74: '=' :  cannot convert from 'float' to '4-component vector of float'
WARNING: 0:75: implicit cast from int to flERROR! Unable to create fragment shader!
Wokka!  Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-sdf.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-sdf.tbm' ...
ANI 2_radar1 with size 209x170 (33.6% wasted)
Windoze reported 16 joysticks, we found 1
TBM  =>  Starting parse of 'mv_advmuzzle-mfl.tbm' ...
Wokka!  Error opening file (armor.tbl)!
TABLES: Unable to parse 'armor.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-wxp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 64 frames at 35 fps.
BMPMAN: Found EFF (ExpMissileHit1.eff) with 44 frames at 30 fps.
BMPMAN: Found EFF (exp05.eff) with 47 frames at 20 fps.
BMPMAN: Found EFF (exp06.eff) with 48 frames at 20 fps.
BMPMAN: Found EFF (exp04.eff) with 60 frames at 20 fps.
BMPMAN: Found EFF (Maxim_Impact.eff) with 23 frames at 30 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
BMPMAN: Found EFF (Gmuzzle.eff) with 5 frames at 30 fps.
BMPMAN: Found EFF (PWmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Rmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Bmuzzle.eff) with 5 frames at 30 fps.
TBM  =>  Starting parse of 'mv_tech-wep.tbm' ...
TBM  =>  Starting parse of 'mv_models-wep.tbm' ...
TBM  =>  Starting parse of 'mv_effects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_trails-shp.tbm' ...
TBM  =>  Starting parse of 'mv_tech-shp.tbm' ...
TBM  =>  Starting parse of 'mv_models-shp.tbm' ...
TBM  =>  Starting parse of 'mv_dragon-shp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-shp.tbm' ...
TBM  =>  Starting parse of 'mv_escort-hdg.tbm' ...
TBM  =>  Starting parse of 'mv_effects-str.tbm' ...
loading animated cursor "cursor"
ANI cursor with size 24x24 (25.0% wasted)
Ships.tbl is : INVALID!!!!
Weapons.tbl is : VALID
cfile_init() took 222
Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
Someone passed an extension to bm_load for file 'hammer1.pcx'
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Got event GS_EVENT_TECH_MENU (11) in state GS_STATE_MAIN_MENU (1)
Techroom successfully initialized, now changing tab...
Loading model 'fighter01.pof'
IBX: Found a good IBX/TSB to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x2a94b7b8, IBX checksum: 0x38c2bcca -- "fighter01.pof"
Frame  0 too long!!: frametime = 0.436 (0.436)
Frame  0 too long!!: frametime = 0.262 (0.262)
Got event GS_EVENT_SIMULATOR_ROOM (58) in state GS_STATE_TECH_MENU (7)
Freeing all existing models...
Frame  0 too long!!: frametime = 0.707 (0.707)
Got event GS_EVENT_START_GAME (1) in state GS_STATE_SIMULATOR_ROOM (20)
=================== STARTING LEVEL LOAD ==================
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Starting model page in...
Beginning level bitmap paging...
BMPMAN: Found EFF (particleexp01.eff) with 10 frames at 8 fps.
BMPMAN: Found EFF (particlesmoke01.eff) with 88 frames at 30 fps.
BMPMAN: Found EFF (particlesmoke02.eff) with 39 frames at 24 fps.
TBM  =>  Starting parse of 'mv_fireball-fbl.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-fbl.tbm' ...
BMPMAN: Found EFF (WarpMap01.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (WarpMap02.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (rock_exp.eff) with 55 frames at 30 fps.
Loading warp model
Loading model 'warp.pof'
IBX: Found a good IBX/TSB to read for 'warp.pof'.
IBX-DEBUG => POF checksum: 0x3c5e73c9, IBX checksum: 0xc04d2c9d -- "warp.pof"
Model warp.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
 256
BMPMAN: Found EFF (shieldhit01a.eff) with 23 frames at 21 fps.
BMPMAN: Found EFF (shieldhit02a.eff) with 45 frames at 30 fps.
BMPMAN: Found EFF (shieldhit03a.eff) with 22 frames at 30 fps.
SHOCKWAVE =>  Loading default shockwave model...
Loading model 'shockwave.pof'
IBX: Found a good IBX/TSB to read for 'shockwave.pof'.
IBX-DEBUG => POF checksum: 0xd8be5fd9, IBX checksum: 0x208fb934 -- "shockwave.pof"
BMPMAN: Found EFF (shockwave3d-glow.eff) with 159 frames at 24 fps.
Model shockwave.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
SHOCKWAVE =>  Default model load: SUCCEEDED!!
MISSION LOAD: 'postprocess'
Starting mission message count : 205
Ending mission message count : 205
Current soundtrack set to -1 in event_music_reset_choices
Current soundtrack set to -1 in event_music_set_soundtrack
Loading model 'fighter01.pof'
IBX: Found a good IBX/TSB to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x2a94b7b8, IBX checksum: 0x38c2bcca -- "fighter01.pof"
Loading model 'capital01.pof'
IBX: Found a good IBX/TSB to read for 'capital01.pof'.
IBX-DEBUG => POF checksum: 0x9e305e56, IBX checksum: 0x5d3a90c3 -- "capital01.pof"
Potential problem found: Unrecognized type subsystem 'fighterbay', believed to be in ship capital01.pof
Allocating space for at least 25 new ship subsystems ...  a total of 200 is now available (25 in-use).
OpenGL: Created 512x512 FBO!
ANI 2_lock1 with size 56x53 (17.2% wasted)
ANI 2_lockspin with size 100x100 (21.9% wasted)
ANI 2_lead1 with size 26x26 (18.8% wasted)
ANI 2_energy2 with size 86x96 (25.0% wasted)
ANI toggle1 with size 57x20 (37.5% wasted)
ANI weapons1 with size 126x20 (37.5% wasted)
ANI weapons1_b with size 150x20 (37.5% wasted)
ANI 2_toparc1 with size 252x60 (6.3% wasted)
ANI 2_toparc2 with size 35x24 (25.0% wasted)
ANI 2_toparc3 with size 41x29 (9.4% wasted)
ANI 2_leftarc with size 103x252 (1.6% wasted)
ANI 2_rightarc1 with size 103x252 (1.6% wasted)
ANI 2_reticle1 with size 40x24 (25.0% wasted)
ANI targhit1 with size 31x21 (34.4% wasted)
ANI energy1 with size 12x41 (35.9% wasted)
ANI targetview1 with size 137x156 (39.1% wasted)
ANI targetview2 with size 4x96 (25.0% wasted)
ANI targetview3 with size 7x20 (37.5% wasted)
ANI damage1 with size 148x25 (21.9% wasted)
ANI support1 with size 108x24 (25.0% wasted)
ANI objective1 with size 149x21 (34.4% wasted)
ANI wingman1 with size 71x53 (17.2% wasted)
ANI wingman2 with size 35x53 (17.2% wasted)
ANI wingman3 with size 14x53 (17.2% wasted)
ANI netlag1 with size 29x30 (6.3% wasted)
ANI head1 with size 164x132 (48.4% wasted)
ANI time1 with size 47x23 (28.1% wasted)
ANI debris01 with size 51x38 (40.6% wasted)
ANI debris02 with size 26x19 (40.6% wasted)
ANI debris04 with size 36x27 (15.6% wasted)
=================== STARTING LEVEL DATA LOAD ==================
About to page in ships!
ANI shield-f01 with size 112x93 (27.3% wasted)
Loading model 'support2t-01.pof'
IBX: Found a good IBX/TSB to read for 'support2t-01.pof'.
IBX-DEBUG => POF checksum: 0xd9688f1e, IBX checksum: 0x450d963a -- "support2t-01.pof"
Loading model 'support2v-01.pof'
IBX: Found a good IBX/TSB to read for 'support2v-01.pof'.
IBX-DEBUG => POF checksum: 0x976f69e0, IBX checksum: 0x4e18f7cd -- "support2v-01.pof"
BMPMAN: Found EFF (Subach_AniBitmap.eff) with 6 frames at 5 fps.
BMPMAN: Found EFF (PrometheusR_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (Prometheus_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (Kayser_AniBitmap.eff) with 4 frames at 5 fps.
ANI Kayser_Particle with size 80x80 (37.5% wasted)
ANI Lamprey_Particle with size 92x86 (32.8% wasted)
Loading model 'rockeye.pof'
IBX: Found a good IBX/TSB to read for 'rockeye.pof'.
IBX-DEBUG => POF checksum: 0x25ff4c7f, IBX checksum: 0x541aef89 -- "rockeye.pof"
Loading model 'Tempest.pof'
IBX: Found a good IBX/TSB to read for 'Tempest.pof'.
IBX-DEBUG => POF checksum: 0x33e3ab29, IBX checksum: 0x1d791899 -- "Tempest.pof"
Model Tempest.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
Loading model 'NewHornet.pof'
IBX: Found a good IBX/TSB to read for 'NewHornet.pof'.
IBX-DEBUG => POF checksum: 0x98d35b7d, IBX checksum: 0xe4ac391c -- "NewHornet.pof"
Loading model 'bombardier.pof'
IBX: Found a good IBX/TSB to read for 'bombardier.pof'.
IBX-DEBUG => POF checksum: 0x03e1b208, IBX checksum: 0x5def0a77 -- "bombardier.pof"
Loading model 'crossbow.pof'
IBX: Found a good IBX/TSB to read for 'crossbow.pof'.
IBX-DEBUG => POF checksum: 0x586f384b, IBX checksum: 0xb14be0e0 -- "crossbow.pof"
Loading model 'trebuchet.pof'
IBX: Found a good IBX/TSB to read for 'trebuchet.pof'.
IBX-DEBUG => POF checksum: 0x688e15f5, IBX checksum: 0xf6c9668d -- "trebuchet.pof"
Loading model 'taga.pof'
IBX: Found a good IBX/TSB to read for 'taga.pof'.
IBX-DEBUG => POF checksum: 0x45b2275e, IBX checksum: 0x3f9f6258 -- "taga.pof"
Loading model 'tagb.pof'
IBX: Found a good IBX/TSB to read for 'tagb.pof'.
IBX-DEBUG => POF checksum: 0x332af7cb, IBX checksum: 0x14d7a019 -- "tagb.pof"
Loading model 'piranha.pof'
IBX: Found a good IBX/TSB to read for 'piranha.pof'.
IBX-DEBUG => POF checksum: 0x0ba39db4, IBX checksum: 0x333b32e2 -- "piranha.pof"
Loading model 'stilettoII.pof'
IBX: Found a good IBX/TSB to read for 'stilettoII.pof'.
IBX-DEBUG => POF checksum: 0x6f4352cf, IBX checksum: 0xc0f267c6 -- "stilettoII.pof"
Loading model 'infyrno.pof'
IBX: Found a good IBX/TSB to read for 'infyrno.pof'.
IBX-DEBUG => POF checksum: 0xaef706c7, IBX checksum: 0x9b2555c2 -- "infyrno.pof"
Loading model 'belial.pof'
IBX: Found a good IBX/TSB to read for 'belial.pof'.
IBX-DEBUG => POF checksum: 0xb8ba8933, IBX checksum: 0x70b7a630 -- "belial.pof"
Loading model 'helios.pof'
IBX: Found a good IBX/TSB to read for 'helios.pof'.
IBX-DEBUG => POF checksum: 0xfd9a4057, IBX checksum: 0xdfb98a48 -- "helios.pof"
Model helios.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
Loading model 'EMPulse2.pof'
IBX: Found a good IBX/TSB to read for 'EMPulse2.pof'.
IBX-DEBUG => POF checksum: 0x5269eb44, IBX checksum: 0xb7bd5b3a -- "EMPulse2.pof"
Loading model 'hornet.pof'
IBX: Found a good IBX/TSB to read for 'hornet.pof'.
IBX-DEBUG => POF checksum: 0x98d35b7d, IBX checksum: 0xe4ac391c -- "hornet.pof"
Loading model 'debris01.pof'
IBX: Found a good IBX/TSB to read for 'debris01.pof'.
IBX-DEBUG => POF checksum: 0x974f214b, IBX checksum: 0x368eb490 -- "debris01.pof"
Loading model 'debris02.pof'
IBX: Found a good IBX/TSB to read for 'debris02.pof'.
IBX-DEBUG => POF checksum: 0x8e0eed50, IBX checksum: 0x7b2a747e -- "debris02.pof"
Paging in mission messages
Stopping model page in...
ANI 2_radar1.ani with size 209x170 (33.6% wasted)
ANI Lamprey_Impact.ani with size 80x80 (37.5% wasted)
ANI 2_lock1.ani with size 56x53 (17.2% wasted)
ANI 2_lead1.ani with size 26x26 (18.8% wasted)
ANI 2_energy2.ani with size 86x96 (25.0% wasted)
ANI toggle1.ani with size 57x20 (37.5% wasted)
ANI weapons1.ani with size 126x20 (37.5% wasted)
ANI 2_toparc1.ani with size 252x60 (6.3% wasted)
ANI 2_toparc2.ani with size 35x24 (25.0% wasted)
ANI 2_toparc3.ani with size 41x29 (9.4% wasted)
ANI 2_leftarc.ani with size 103x252 (1.6% wasted)
ANI 2_rightarc1.ani with size 103x252 (1.6% wasted)
ANI 2_reticle1.ani with size 40x24 (25.0% wasted)
ANI targhit1.ani with size 31x21 (34.4% wasted)
ANI energy1.ani with size 12x41 (35.9% wasted)
ANI targetview1.ani with size 137x156 (39.1% wasted)
ANI targetview2.ani with size 4x96 (25.0% wasted)
ANI targetview3.ani with size 7x20 (37.5% wasted)
ANI damage1.ani with size 148x25 (21.9% wasted)
ANI support1.ani with size 108x24 (25.0% wasted)
ANI objective1.ani with size 149x21 (34.4% wasted)
ANI wingman1.ani with size 71x53 (17.2% wasted)
ANI wingman2.ani with size 35x53 (17.2% wasted)
ANI wingman3.ani with size 14x53 (17.2% wasted)
ANI netlag1.ani with size 29x30 (6.3% wasted)
ANI head1.ani with size 164x132 (48.4% wasted)
ANI time1.ani with size 47x23 (28.1% wasted)
ANI debris01.ani with size 51x38 (40.6% wasted)
ANI debris02.ani with size 26x19 (40.6% wasted)
ANI debris04.ani with size 36x27 (15.6% wasted)
ANI shield-f01.ani with size 112x93 (27.3% wasted)
ANI Kayser_Particle.ani with size 80x80 (37.5% wasted)
ANI Lamprey_Particle.ani with size 92x86 (32.8% wasted)
User bitmap 'TMP824x43+16'
User bitmap 'TMP824x43+16'
User bitmap 'TMP824x43+16'
User bitmap 'TMP824x43+16'
User bitmap 'TMP256x256+8'
User bitmap 'TMP256x256+8'
User bitmap 'TMP128x128+8'
Bmpman: 1535/4750 bitmap slots in use.
Ending level bitmap paging...
=================== ENDING LOAD ================
Real count = 240,  Estimated count = 425
================================================
Received post for event GS_EVENT_START_BRIEFING during state transtition. Find Allender if you are unsure if this is bad.
Got event GS_EVENT_START_BRIEFING (15) in state GS_STATE_START_GAME (52)
ANI 2_BriefMap with size 918x400 (21.9% wasted)
ANI iconwing01 with size 32x28 (12.5% wasted)
Loading model 'fighter06.pof'
IBX: Found a good IBX/TSB to read for 'fighter06.pof'.
IBX-DEBUG => POF checksum: 0x6559af36, IBX checksum: 0x9a40a843 -- "fighter06.pof"
Loading model 'fighter2t-02.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-02.pof'.
IBX-DEBUG => POF checksum: 0x861f5e0a, IBX checksum: 0x5e3514c1 -- "fighter2t-02.pof"
Loading model 'bonus2t-02.pof'
IBX: Found a good IBX/TSB to read for 'bonus2t-02.pof'.
IBX-DEBUG => POF checksum: 0x1a90f6ee, IBX checksum: 0x3f61d8d9 -- "bonus2t-02.pof"
Loading model 'fighter2t-04.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-04.pof'.
IBX-DEBUG => POF checksum: 0xdd47b3e7, IBX checksum: 0xf816a6fd -- "fighter2t-04.pof"
Loading model 'fighter13.pof'
IBX: Found a good IBX/TSB to read for 'fighter13.pof'.
IBX-DEBUG => POF checksum: 0xd89ee32d, IBX checksum: 0x7aee2523 -- "fighter13.pof"
Loading model 'fighter2t-01.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-01.pof'.
IBX-DEBUG => POF checksum: 0xf7ad8c4f, IBX checksum: 0x14139590 -- "fighter2t-01.pof"
Loading model 'fighter2t-03.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-03.pof'.
IBX-DEBUG => POF checksum: 0xc51e0d06, IBX checksum: 0x8a7baff1 -- "fighter2t-03.pof"
Loading model 'fighter2t-05.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-05.pof'.
IBX-DEBUG => POF checksum: 0xa59230ad, IBX checksum: 0xb499bcbf -- "fighter2t-05.pof"
Loading model 'fighter2s-02.pof'
IBX: Found a good IBX/TSB to read for 'fighter2s-02.pof'.
IBX-DEBUG => POF checksum: 0x85ec93bc, IBX checksum: 0xb90433ea -- "fighter2s-02.pof"
BMPMAN: Found EFF (fighter2s-02-glow.eff) with 37 frames at 25 fps.
Loading model 'Bomber2T-03.pof'
IBX: Found a good IBX/TSB to read for 'Bomber2T-03.pof'.
IBX-DEBUG => POF checksum: 0xf62d5e93, IBX checksum: 0x16ce7cf1 -- "Bomber2T-03.pof"
Loading model 'Bonus2t-01.pof'
IBX: Found a good IBX/TSB to read for 'Bonus2t-01.pof'.
IBX-DEBUG => POF checksum: 0xf10b290a, IBX checksum: 0xb56fcc23 -- "Bonus2t-01.pof"
Loading model 'bomber04.pof'
IBX: Found a good IBX/TSB to read for 'bomber04.pof'.
IBX-DEBUG => POF checksum: 0x3da48cc1, IBX checksum: 0x5279a21e -- "bomber04.pof"
Loading model 'bomber05.pof'
IBX: Found a good IBX/TSB to read for 'bomber05.pof'.
IBX-DEBUG => POF checksum: 0x1e5f9164, IBX checksum: 0xefc882ad -- "bomber05.pof"
Loading model 'bomber09.pof'
IBX: Found a good IBX/TSB to read for 'bomber09.pof'.
IBX-DEBUG => POF checksum: 0xeaa1713a, IBX checksum: 0x3ab1268b -- "bomber09.pof"
Loading model 'bomber2t-01.pof'
IBX: Found a good IBX/TSB to read for 'bomber2t-01.pof'.
IBX-DEBUG => POF checksum: 0xbbfa68bc, IBX checksum: 0x11e25089 -- "bomber2t-01.pof"
Loading model 'fighter2v-04.pof'
IBX: Found a good IBX/TSB to read for 'fighter2v-04.pof'.
IBX-DEBUG => POF checksum: 0x035e02f1, IBX checksum: 0x75e7bb7f -- "fighter2v-04.pof"
ANI 2_ssfighter01.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter01.ani
ANI 2_ssfighter06.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter06.ani
ANI 2_ssfighter2t-02.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2t-02.ani
ANI 2_ssbonus2t-02.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbonus2t-02.ani
ANI 2_ssfighter2t-04.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2t-04.ani
ANI 2_ssfighter13.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter13.ani
ANI 2_ssfighter2t-01.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2t-01.ani
ANI 2_ssfighter2t-03.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2t-03.ani
ANI 2_ssfighter2t-05.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2t-05.ani
ANI 2_ssfighter2s-02.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2s-02.ani
ANI 2_ssbomber2t-03.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbomber2t-03.ani
ANI 2_ssbonus2t-01.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbonus2t-01.ani
ANI 2_ssbomber04.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbomber04.ani
ANI 2_ssbomber05.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbomber05.ani
ANI 2_ssbomber09.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbomber09.ani
ANI 2_ssbomber2t-01.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssbomber2t-01.ani
ANI 2_ssfighter2v-03.ani with size 560x368 (28.1% wasted)
SHIP ANI: Found hires version of 2_ssfighter2v-03.ani
ANI iconSD4 with size 56x24 (25.0% wasted)
ANI iconScalpel with size 56x24 (25.0% wasted)
ANI iconflail with size 56x24 (25.0% wasted)
ANI iconPromR with size 56x24 (25.0% wasted)
ANI iconPromS with size 56x24 (25.0% wasted)
ANI iconNewton with size 56x24 (25.0% wasted)
ANI iconKayser with size 56x24 (25.0% wasted)
ANI iconCirce with size 56x24 (25.0% wasted)
ANI iconLich with size 56x24 (25.0% wasted)
Loading model 'tempest_tech.pof'
IBX: Found a good IBX/TSB to read for 'tempest_tech.pof'.
IBX-DEBUG => POF checksum: 0xf780c311, IBX checksum: 0x437c8ef1 -- "tempest_tech.pof"
Model tempest_tech.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
Loading model 'newhornet_tech.pof'
IBX: Found a good IBX/TSB to read for 'newhornet_tech.pof'.
IBX-DEBUG => POF checksum: 0xe97f1fa7, IBX checksum: 0x785e23c6 -- "newhornet_tech.pof"
Loading model 'crossbow_tech.pof'
IBX: Found a good IBX/TSB to read for 'crossbow_tech.pof'.
IBX-DEBUG => POF checksum: 0x3c2d3c20, IBX checksum: 0x3ba92db3 -- "crossbow_tech.pof"
Loading model 'trebuchet_tech.pof'
IBX: Found a good IBX/TSB to read for 'trebuchet_tech.pof'.
IBX-DEBUG => POF checksum: 0xdf1a4879, IBX checksum: 0xdffb98e3 -- "trebuchet_tech.pof"
Loading model 'piranha_tech.pof'
IBX: Found a good IBX/TSB to read for 'piranha_tech.pof'.
IBX-DEBUG => POF checksum: 0x4334dee5, IBX checksum: 0xfa7523a6 -- "piranha_tech.pof"
Loading model 'stilettoII_tech.pof'
IBX: Found a good IBX/TSB to read for 'stilettoII_tech.pof'.
IBX-DEBUG => POF checksum: 0xf50214c4, IBX checksum: 0x0bb6314c -- "stilettoII_tech.pof"
Loading model 'helios_tech.pof'
IBX: Found a good IBX/TSB to read for 'helios_tech.pof'.
IBX-DEBUG => POF checksum: 0x551ec88b, IBX checksum: 0x018a4544 -- "helios_tech.pof"
Loading model 'empulse2_tech.pof'
IBX: Found a good IBX/TSB to read for 'empulse2_tech.pof'.
IBX-DEBUG => POF checksum: 0x55e483b3, IBX checksum: 0xde0bbd46 -- "empulse2_tech.pof"
ANI 2_SD4.ani with size 332x304 (40.6% wasted)
ANI 2_Scalpel.ani with size 332x304 (40.6% wasted)
ANI 2_Flail2.ani with size 332x304 (40.6% wasted)
ANI 2_PromR.ani with size 332x304 (40.6% wasted)
ANI 2_PromS.ani with size 332x304 (40.6% wasted)
ANI 2_Newton.ani with size 332x304 (40.6% wasted)
ANI 2_Kayser.ani with size 332x304 (40.6% wasted)
ANI 2_Circe.ani with size 332x304 (40.6% wasted)
ANI 2_Lich.ani with size 332x304 (40.6% wasted)
Frame  0 too long!!: frametime = 12.760 (12.760)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  21.354
1792 frames executed in  30.015 seconds,  59.703 frames per second.
Got event GS_EVENT_END_GAME (4) in state GS_STATE_GAME_PLAY (2)
Unloading in mission messages
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Got event GS_EVENT_QUIT_GAME (5) in state GS_STATE_MAIN_MENU (1)
Freeing all existing models...
... Log closed, Tue Aug 11 22:07:45 2009

I have a strange bug , when i push after burner i got a full black screen over here.
My card is a radeon hd4870 gs with 1gb ram, i got 6 gb ram and a i7 processor running under windows 7.
Title: Re: Post-processing
Post by: Angelus on August 11, 2009, 03:33:22 pm
Ok here it is :

*snip*

I have a strange bug , when i push after burner i got a full black screen over here.
My card is a radeon hd4870 gs with 1gb ram, i got 6 gb ram and a i7 processor running under windows 7.


Have that too in FS2, when firing primaries the screen turns blue for a split second ( it happens on the first shot ), firing missiles causes the screen to go black for a couple of seconds, same for the afterburners.
The game is not paused, 'cause i can hear my primaries firing aso.

Post a log tomorrow.

Title: Re: Post-processing
Post by: Hery on August 11, 2009, 03:34:17 pm
It looks like ati doesn't like my shaders at all ;P At least it's not problem with the build.
Angelus, Reprobator: I think you are not using the latest version of my patch. In fact, I should have updated the first post earlier. However, if you use build from that post (http://www.hard-light.net/forums/index.php/topic,64986.msg1281263.html#msg1281263) problem with black screen won't appear although shader won't work anyways.
I will post updated shader source code ASAP.

Thank you for your help :D
Title: Re: Post-processing
Post by: Reprobator on August 11, 2009, 03:41:12 pm
i ve downloaded the one you just posted, i still have black screen when i use afterburner :p
Title: Re: Post-processing
Post by: Angelus on August 11, 2009, 03:47:23 pm
It looks like ati doesn't like my shaders at all ;P At least it's not problem with the build.
Angelus, Reprobator: I think you are not using the latest version of my patch. In fact, I should have updated the first post earlier. However, if you use build from that post (http://www.hard-light.net/forums/index.php/topic,64986.msg1281263.html#msg1281263) problem with black screen won't appear although shader won't work anyways.
I will post updated shader source code ASAP.

Thank you for your help :D


Thank you, Hery!

The last version was the first i tried ( no blackscreens ), since it didn't work i tried the first one.
I wonder why, although i removed all files from both games, i still have some "effects", either ingame or in the menus ( main, option, ship select ).

In BtrL the menus ( default blue ) change their color to red, yellow and green, and in-mission the sun bitmaps have this "bloomy" effect.
In FS2 only the menus are affected.

I'll post the logs tomorrow, one with the shaders and one without.



Title: Re: Post-processing
Post by: Hery on August 11, 2009, 04:00:02 pm
If you replace content of post-f.sdr with the following code it should be ok.
Code: [Select]
#define FLAG_BLOOM
#define FLAG_DISTORT_NOISE
#define FLAG_SATURATION
#define FLAG_CONTRAST

uniform sampler2D tex;

#ifdef FLAG_DISTORT_NOISE
uniform float timer;
uniform float noise_amount;
#endif

#ifdef FLAG_SATURATION
uniform float saturation;
#endif

#ifdef FLAG_CONTRAST
uniform float contrast;
#endif

void main()
{

#ifdef FLAG_DISTORT_NOISE
// Distort noise
float distort_factor = timer * sin(gl_TexCoord[0].x * gl_TexCoord[0].y * 100 + timer);
distort_factor = mod(distort_factor, 8.0) * mod(distort_factor, 4.0);

vec2 distort;
if (noise_amount > 0.0)
distort = vec2(mod(distort_factor, noise_amount), mod(distort_factor, noise_amount + 0.002));
else
distort = vec2(0, 0);
#else
vec2 distort = vec2(0, 0);
#endif

#ifdef FLAG_BLOOM
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]) + distort;
   vec4 color_in = texture2D(tex, texcoord);

   int j;
   int i;
   vec4 color_glo;
for( i= -4 ;i < 4; i++)
   {
        for (j = -4; j < 4; j++)
        {
            sum += texture2D(tex, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(tex, texcoord).r < 0.3)
    {
       color_glo = pow(sum, 2.0)*0.012 + texture2D(tex, texcoord);
    }
    else
    {
        if (texture2D(tex, texcoord).r < 0.5)
        {
            color_glo = pow(sum, 2.0)*0.012 + texture2D(tex, texcoord);
        }
        else
        {
            color_glo = pow(sum, 2.0)*0.0125 + texture2D(tex, texcoord);
        }
    }
color_in = mix(color_in, color_glo, 0.6);

#else
vec4 color_in = texture2D(tex, gl_TexCoord[0].xy + distort);
#endif

#ifdef FLAG_SATURATION
// Saturation
vec4 color_grayscale;
color_grayscale.rgb = dot(color_in, vec4(0.299, 0.587, 0.184, 0));
vec4 color_out = lerp(color_in, color_grayscale,  1 - saturation);
#else
vec4 color_out = color_in;
#endif

#ifdef FLAG_CONTRAST
// Contrast and brightness
vec3 Afactor = vec3(contrast, contrast, contrast);
vec3 Bfactor = vec3(0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast, 0.5 - 0.5 * contrast);
color_out.rgb = color_out.rgb * Afactor + Bfactor;
#endif

// Dithering
//float downsampling_factor = 4;
//float bias = 0.5;
//color_out.rgb = floor(color_out.rgb * downsampling_factor + bias) / downsampling_factor;

gl_FragColor = color_out;
}
Title: Re: Post-processing
Post by: Nighteyes on August 11, 2009, 04:45:47 pm
How hard will it be to add some film grain with a controller for the amount? will an image of grain added on top of everything else(be the last post processing effect added) be enough? is it possible to add *.eff animation of 2-4 frames of animated grain? :)
Title: Re: Post-processing
Post by: Angelus on August 11, 2009, 05:28:16 pm
I replaced the content of the post-v.sdr and tried it again, but no joy, nothing happens.
I attach the debug log, and i marked the "interessting section".



Code: [Select]

==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.11
Passed cmdline options:
  -spec_exp 11
  -ogl_spec 82
  -spec_static 1
  -spec_point .6
  -spec_tube .5
  -ambient_factor 40
  -mipmap
  -missile_lighting
  -glow
  -nomotiondebris
  -spec
  -normal
  -3dshockwave
  -post_process
  -ballistic_gauge
  -dualscanlines
  -orbradar
  -targetinfo
  -3dwarp
  -ship_choice_3d
  -weapon_choice_3d
  -mod mediavps
  -fps
Building file index...
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Complete.vp' with a checksum of 0x31df7754
Found root pack 'C:\Games\FreeSpace2\FS2OGGcutscenepack.vp' with a checksum of 0x84396e99
Found root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'C:\Games\FreeSpace2\multi-voice-pack.vp' with a checksum of 0xd50e7442
Found root pack 'C:\Games\FreeSpace2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'C:\Games\FreeSpace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'C:\Games\FreeSpace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'C:\Games\FreeSpace2\mediavps\' ... 4 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Complete.vp' ... 5253 files
Searching root 'C:\Games\FreeSpace2\' ... 87 files
Searching root pack 'C:\Games\FreeSpace2\FS2OGGcutscenepack.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' ... 110 files
Searching root pack 'C:\Games\FreeSpace2\multi-voice-pack.vp' ... 307 files
Searching root pack 'C:\Games\FreeSpace2\root_fs2.vp' ... 157 files
Searching root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'C:\Games\FreeSpace2\stu_fs2.vp' ... 2355 files
Searching root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' ... 32 files
Searching root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' ... 15 files
Searching root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\warble_fs2.vp' ... 52 files
Found 15 roots and 12766 files.
AutoLang: Language auto-detection successful...
Setting language to English
TBM  =>  Starting parse of 'mv_strings-lcl.tbm' ...
Initializing OpenAL...
  Using 'Generic Software' as OpenAL sound device...
  OpenAL Vendor     : Creative Labs Inc.
  OpenAL Renderer   : Software
  OpenAL Version    : 1.1

... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 1024x768 with 32-bit color...
  Initializing WGL...
  Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  Actual WGL Video values    = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  OpenGL Vendor     : ATI Technologies Inc.
  OpenGL Renderer   : Radeon HD 2600 XT (Omega 3.8.442)
  OpenGL Version    : 2.1.7169 Release

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Using extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Using extension "GL_SGIS_generate_mipmap".
  Using extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Using extension "GL_ARB_point_sprite".
  Using extension "GL_ARB_shading_language_100".
  Using extension "GL_ARB_shader_objects".
  Using extension "GL_ARB_vertex_shader".
  Using extension "GL_ARB_fragment_shader".
  Unable to find extension "GL_ATI_shader_texture_lod".
  Found special extension function "wglSwapIntervalEXT".

  Max texture units: 8 (8)
  Max elements vertices: 2147483647
  Max elements indices: 16777215
  Max texture size: 8192x8192
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
... OpenGL init is complete!
Size of bitmap info = 705 KB
Size of bitmap extra info = 40 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
Wokka!  Error opening file (scripting.tbl)!
TABLES: Unable to parse 'scripting.tbl'!  Error code = 5.
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...


??????????????????????????????

Compiling post-processing shader ->  post-v.sdr / post-f.sdr ...
Vertex shader failed to compile:
Vertex shader failed to compile with the following errors:
ERROR: 0:55: 'pow' : no matching overloaded function found
ERROR: 0:61: 'pow' : no matching overloaded function found
ERROR: 0:65: 'pow' : no matching overloaded function found
ERROR: 0:77: 'assign' :  cannot convert from 'float' to '3-component vector of float'
ERROR: 0:78: 'lerp' : no matching overloaded function found
ERROR: 0:78: '=' :  cannot convert from 'const float' to '4-component vector of float'
ERRORERROR! Unable to create vertex shader!
Wokka!  Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'!  Error code = 5.



???????????????????????????????


TBM  =>  Starting parse of 'mv_effects-sdf.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-sdf.tbm' ...
ANI 2_radar1 with size 209x170 (33.6% wasted)
Windoze reported 16 joysticks, we found 1
Current soundtrack set to -1 in event_music_reset_choices
TBM  =>  Starting parse of 'mv_music-mus.tbm' ...
TBM  =>  Starting parse of 'mv_advmuzzle-mfl.tbm' ...
Wokka!  Error opening file (armor.tbl)!
TABLES: Unable to parse 'armor.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-wxp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 64 frames at 35 fps.
BMPMAN: Found EFF (ExpMissileHit1.eff) with 44 frames at 30 fps.
BMPMAN: Found EFF (exp05.eff) with 47 frames at 20 fps.
BMPMAN: Found EFF (exp06.eff) with 48 frames at 20 fps.
BMPMAN: Found EFF (exp04.eff) with 60 frames at 20 fps.
BMPMAN: Found EFF (Maxim_Impact.eff) with 23 frames at 30 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
BMPMAN: Found EFF (Gmuzzle.eff) with 5 frames at 30 fps.
BMPMAN: Found EFF (PWmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Rmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Bmuzzle.eff) with 5 frames at 30 fps.
TBM  =>  Starting parse of 'mv_tech-wep.tbm' ...
TBM  =>  Starting parse of 'mv_models-wep.tbm' ...
TBM  =>  Starting parse of 'mv_effects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_trails-shp.tbm' ...
TBM  =>  Starting parse of 'mv_tech-shp.tbm' ...
TBM  =>  Starting parse of 'mv_models-shp.tbm' ...
TBM  =>  Starting parse of 'mv_dragon-shp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-shp.tbm' ...
TBM  =>  Starting parse of 'mv_escort-hdg.tbm' ...
TBM  =>  Starting parse of 'mv_effects-str.tbm' ...
loading animated cursor "cursor"
ANI cursor with size 24x24 (25.0% wasted)
Ships.tbl is : VALID
Weapons.tbl is : VALID
cfile_init() took 931
Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
Frame  0 too long!!: frametime = 0.306 (0.306)
Got event GS_EVENT_QUIT_GAME (5) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
Freeing all existing models...
... Log closed, Wed Aug 12 00:23:06 2009




EDIT: checked the first post, again and now i have to ask what do i have to do to enable fbo?
I tried to google it, and it seems ATI cards have trouble with it ( at least the drivers ).
Title: Re: Post-processing
Post by: Hery on August 11, 2009, 05:45:01 pm
First implementation of film grain that Google found:
Code: [Select]
#define FLAG_GRAIN
#define FLAG_BLOOM
#define FLAG_DISTORT_NOISE
#define FLAG_SATURATION
#define FLAG_CONTRAST

uniform sampler2D tex;

uniform float timer;

#ifdef FLAG_DISTORT_NOISE
uniform float noise_amount;
#endif

#ifdef FLAG_SATURATION
uniform float saturation;
#endif

#ifdef FLAG_CONTRAST
uniform float contrast;
#endif

void main()
{

#ifdef FLAG_DISTORT_NOISE
// Distort noise
float distort_factor = timer * sin(gl_TexCoord[0].x * gl_TexCoord[0].y * 100 + timer);
distort_factor = mod(distort_factor, 8.0) * mod(distort_factor, 4.0);

vec2 distort;
if (noise_amount > 0.0)
distort = vec2(mod(distort_factor, noise_amount), mod(distort_factor, noise_amount + 0.002));
else
distort = vec2(0, 0);
#else
vec2 distort = vec2(0, 0);
#endif

#ifdef FLAG_BLOOM
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]) + distort;
   vec4 color_in = texture2D(tex, texcoord);

   int j;
   int i;
   vec4 color_glo;
for( i= -4 ;i < 4; i++)
   {
        for (j = -4; j < 4; j++)
        {
            sum += texture2D(tex, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(tex, texcoord).r < 0.3)
    {
       color_glo = sum * sum * 0.012 + texture2D(tex, texcoord);
    }
    else
    {
        if (texture2D(tex, texcoord).r < 0.5)
        {
            color_glo = sum * sum * 0.012 + texture2D(tex, texcoord);
        }
        else
        {
            color_glo = sum * sum * 0.0125 + texture2D(tex, texcoord);
        }
    }
color_in = mix(color_in, color_glo, 0.6);

#else
vec4 color_in = texture2D(tex, gl_TexCoord[0].xy + distort);
#endif

#ifdef FLAG_SATURATION
// Saturation
vec4 color_grayscale;
color_grayscale.rgb = vec3(dot(color_in, vec4(0.299, 0.587, 0.184, 0)));
vec4 color_out = mix(color_in, color_grayscale, 1 - saturation);
#else
vec4 color_out = color_in;
#endif

#ifdef FLAG_CONTRAST
// Contrast and brightness
vec3 Afactor = vec3(contrast);
vec3 Bfactor = vec3(0.5 - 0.5 * contrast);
color_out.rgb = color_out.rgb * Afactor + Bfactor;
#endif


#ifdef FLAG_GRAIN
float x = gl_TexCoord[0].x * gl_TexCoord[0].y * timer *  1000;
x = mod(x, 13.0) * mod(x, 123.0);
float dx = mod(x, 0.01);

vec3 result = color_out.rgb + color_out.rgb * clamp(0.1 + dx.xxx * 100.0, 0.0, 1.0);

vec2 sc;
sincos(gl_TexCoord[0].y * 2048.0, sc.x, sc.y);
result += color_out.rgb * vec3(sc.x, sc.y, sc.x) * 0.8; //fSintensity;

color_out.rgb = mix(color_out.rgb, result, 0.8); //fNintensity));
#endif

// Dithering
//float downsampling_factor = 4;
//float bias = 0.5;
//color_out.rgb = floor(color_out.rgb * downsampling_factor + bias) / downsampling_factor;

gl_FragColor = color_out;
}

Intensity is hardcoded since convenient interface to controll effects like that does not exist yet. :D Now its only a demonstration.

@Angelus: Sorry, I've misspelled file name. That code should went to post-f.sdr. post-v.sdr has to remain unchanged. Could you test version from this post? I fixed some errors that were reported in your log.
You have FBO enabled and working, shaders are compiled when fbo is already initialized.
Title: Re: Post-processing
Post by: Zacam on August 11, 2009, 06:15:57 pm
so, is there supposed to be a shaky cam effect going on in the postprocessing mission?

Or timings where it seems like the camera or viewpoint "blinks"?

And while I am happy to see people jumping on testing out the postprocessing, Has any one ran any of Hery's previous builds in the Subtractive Shaders thread or Antipodes 2? To be able to include those "unified" shaders in the next MediaVP release, I'd like to know that people are not going to have "white-polygons-of-death" on debris or any issues that we don't already know to exist with the mediavp shaders. (Like the ATi -normal driver file issue.)
Title: Re: Post-processing
Post by: Angelus on August 11, 2009, 06:19:03 pm

*snip*

@Angelus: Sorry, I've misspelled file name. That code should went to post-f.sdr. post-v.sdr has to remain unchanged. Could you test version from this post? I fixed some errors that were reported in your log.
You have FBO enabled and working, shaders are compiled when fbo is already initialized.


Yeah, the last edit of post-f worked, and the result is teh awesum!
I replaced the edited post-v with the default one and it works like a charm.

You Sir, are a magician!
You should join the SCP team... :D





Title: Re: Post-processing
Post by: Nighteyes on August 11, 2009, 06:27:30 pm
I agree, amazing work :D
next up, Motion blur :P but I assume that one is pretty hard to implement... :(
maybe this is good? its speaking about rendering the whole image as a texture, like your post precessing effect...
http://www.codeproject.com/KB/openGL/MotionBlur.aspx
Title: Re: Post-processing
Post by: pecenipicek on August 11, 2009, 07:29:59 pm
Quote
And while I am happy to see people jumping on testing out the postprocessing, Has any one ran any of Hery's previous builds in the Subtractive Shaders thread or Antipodes 2? To be able to include those "unified" shaders in the next MediaVP release, I'd like to know that people are not going to have "white-polygons-of-death" on debris or any issues that we don't already know to exist with the mediavp shaders. (Like the ATi -normal driver file issue.)
i'm actually using both at the moment (shadersets that is...)

as for the antipodes builds, i'll give em a spin.

I agree, amazing work :D
next up, Motion blur :P but I assume that one is pretty hard to implement... :(
maybe this is good? its speaking about rendering the whole image as a texture, like your post precessing effect...
http://www.codeproject.com/KB/openGL/MotionBlur.aspx
i think that thats one of the more inefficient methods to tell you the truth.
Title: Re: Post-processing
Post by: Hery on August 12, 2009, 08:11:32 am
@Zacam: "blinking problem": solved.

I've redesigned the way one can configure post-processing effects using sexps. Now there is "set-post-effect" which takes effect name and its intensity. Additionally, everything is implemented in a way it will be very easy to keep list of post-processing effects in tbl file (however, that will require better shaders interface).

Full pack (http://www27.zippyshare.com/v/43441823/file.html) (updated mission file, the latest shaders version, new builds)

@pecenipicek: That implementation of motion blur seems to be efficient enough to try using it in FSO, especially, if we optimize few things that weren't mentioned in that article.
Title: Re: Post-processing
Post by: pecenipicek on August 12, 2009, 08:26:14 am
have fun :p i might try something with shaders, i sent you an email a few days ago.
Title: Re: Post-processing
Post by: Angelus on August 12, 2009, 09:55:35 am
The latest version gives me following error, if need i can post the entire FS2 log, but i think this should be enough...


Code: [Select]


Fragment shader failed to compile:
Fragment shader failed to compile with the following errors:
ERROR: 0:106: 'xxx' :  field selection requires structure, vector, or matrix on left hand side
ERROR: 0:109: 'sincos' : no matching overloaded function found
ERROR: 2 compilation errors.  No code generated.


Title: Re: Post-processing
Post by: pecenipicek on August 12, 2009, 10:53:20 am
just make sure that the vert shader contains only the vert data...

meaning, only this part

Code: [Select]
void main()
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_Vertex;

gl_FrontColor = gl_Color;

// * grrrr ... stupid ATI ... *
#ifdef __GLSL_CG_DATA_TYPES
gl_ClipVertex = (gl_ModelViewMatrix * gl_Vertex);
#endif
}
Title: Re: Post-processing
Post by: Angelus on August 12, 2009, 11:08:58 am
That's how the post-v shader looks like.

I think i fixed it...or the computer plays games with me...

Is it possible, that if this ---> // <--- is missing in the first line of the post-f shader, the entire thing doesn't work?

I ask, 'cause that's what i've done, i added them in the new version and it worked.

If that's the case, i shall be known as the MacGyver of HLP...  :D



EDIT: maybe these problems are 'caused because my ATI card is offended by the comment in the shader... :nervous:
Title: Re: Post-processing
Post by: Hery on August 12, 2009, 11:10:35 am
Angelus it was working because // disabled film grain. Since there was problem in film grain code that's why it doesn't work when it's enabled.
post-f.sdr:
Code: [Select]
#define FLAG_GRAIN
#define FLAG_BLOOM
#define FLAG_DISTORT_NOISE
#define FLAG_SATURATION
#define FLAG_CONTRAST

uniform sampler2D tex;

uniform float timer;

#ifdef FLAG_DISTORT_NOISE
uniform float noise_amount;
#endif

#ifdef FLAG_SATURATION
uniform float saturation;
#endif

#ifdef FLAG_CONTRAST
uniform float contrast;
#endif

#ifdef FLAG_BLOOM
uniform float bloom;
#endif

#ifdef FLAG_GRAIN
uniform float film_grain;
#endif

void main()
{

#ifdef FLAG_DISTORT_NOISE
// Distort noise
float distort_factor = timer * sin(gl_TexCoord[0].x * gl_TexCoord[0].y * 100.0 + timer);
distort_factor = mod(distort_factor, 8.0) * mod(distort_factor, 4.0);

vec2 distort;
if (noise_amount > 0.0)
distort = vec2(mod(distort_factor, noise_amount), mod(distort_factor, noise_amount + 0.002));
else
distort = vec2(0, 0);
#else
vec2 distort = vec2(0, 0);
#endif

#ifdef FLAG_BLOOM
vec4 sum = vec4(0);
   vec2 texcoord = vec2(gl_TexCoord[0]) + distort;
   vec4 color_in = texture2D(tex, texcoord);

   int j;
   int i;
   vec4 color_glo;
for( i= -4 ;i < 4; i++)
   {
        for (j = -4; j < 4; j++)
        {
            sum += texture2D(tex, texcoord + vec2(j, i)*0.004) * 0.25;
        }
   }
       if (texture2D(tex, texcoord).r < 0.3)
    {
       color_glo = sum * sum * 0.012 + texture2D(tex, texcoord);
    }
    else
    {
        if (texture2D(tex, texcoord).r < 0.5)
        {
            color_glo = sum * sum * 0.012 + texture2D(tex, texcoord);
        }
        else
        {
            color_glo = sum * sum * 0.0125 + texture2D(tex, texcoord);
        }
    }
color_in = mix(color_in, color_glo, bloom);

#else
vec4 color_in = texture2D(tex, gl_TexCoord[0].xy + distort);
#endif

#ifdef FLAG_SATURATION
// Saturation
vec4 color_grayscale;
color_grayscale.rgb = vec3(dot(color_in, vec4(0.299, 0.587, 0.184, 0)));
vec4 color_out = mix(color_in, color_grayscale, 1.0 - saturation);
#else
vec4 color_out = color_in;
#endif

#ifdef FLAG_CONTRAST
// Contrast and brightness
vec3 Afactor = vec3(contrast);
vec3 Bfactor = vec3(0.5 - 0.5 * contrast);
color_out.rgb = color_out.rgb * Afactor + Bfactor;
#endif


#ifdef FLAG_GRAIN
float x = gl_TexCoord[0].x * gl_TexCoord[0].y * timer * 1000.0;
x = mod(x, 13.0) * mod(x, 123.0);
float dx = mod(x, 0.01);

vec3 result = color_out.rgb + color_out.rgb * clamp(0.1 + dx * 100.0, 0.0, 1.0);

vec2 sc;
sc.x = sin(gl_TexCoord[0].y * 2048.0);
sc.y = cos(gl_TexCoord[0].y * 2048.0);
result += color_out.rgb * vec3(sc.x, sc.y, sc.x) * 0.8;

color_out.rgb = mix(color_out.rgb, result, film_grain);
#endif

// Dithering
//float downsampling_factor = 4;
//float bias = 0.5;
//color_out.rgb = floor(color_out.rgb * downsampling_factor + bias) / downsampling_factor;

gl_FragColor = color_out;
}
Title: Re: Post-processing
Post by: pecenipicek on August 12, 2009, 12:00:46 pm
sincos XD
Title: Re: Post-processing
Post by: Angelus on August 12, 2009, 03:13:37 pm
Thx for the help, and also thx for these great new features, they will save me a lot of time.
I can now create cutscenes without recording the entire mission with fraps and then editing it in a vid-app.

This is really awesome, thx for your effort.


Here's a little screeny:


(http://i653.photobucket.com/albums/uu258/_Angelus_/Ingame%20Screenshots/GunCam3.jpg)
Title: Re: Post-processing
Post by: gevatter Lars on August 12, 2009, 03:36:46 pm
That looks very nice.

Will this post pro effects be implemented into the basic code, enabling them via checkbox in the launcher or will this be something that is only be enabled with certain mods you have to load or modding teams have to integrate in some way?
Title: Re: Post-processing
Post by: Hery on August 12, 2009, 03:41:34 pm
Tech talk: on

I've decided to completely rewritten parts of fso code responsible for shaders, since they were not prepared to use post shaders.
In my new design there are four classes: shader_manager, shader, main_shader and post_shader. Classes main_shader and post_shader derives from shader.

Shader_manager class (it's a singleton) is responsible for loading, storing and applying shaders. It loads main shaders while initializing graphics subsystem in FSO (exactly the same as before). It creates instances of main_shader class and lets them compile, configure and link shaders. The process of loading main shaders hasn't been changed a lot due to compatibility reasons. Post-processing shaders are loaded, configured and compiled on demand, since they changes less often than main shaders. Both types of shaders are stored in std::map containers (better computational complexity than in previously used std::vector, log N vs. N). Additionally, I introduced third container (also std::map) with main shaders that were used during current mission what in some situations can bring some performance gain.

There is an array of post_effect structures that contains informantion required to properly enable and configure any post-processing effect. In future that array may be read from tbl file what will make post-processing free of hardcoded configuration. Some effects (for example bloom) may be set as always active while the other may be enabled only when their intensity value changes (for example contrast or film grain). Static method post_shader::choose_post_shader is in charge of choosing appropriate shader version.

I also managed to get rid of string comparisons while setting uniforms during frame rendering, what also should in some cases bring performance gain. Client code uses enum values instead of strings. Now we get uniform location in constant time (however, uniform names are still hardcoded - that part of shaders system isn't as flexible as the part connected with post-processing).

Another minor improvement is getting rid of 8129 bytes limit of shaders compilator and consolidator error log.

This patch also includes stubs of two other classes opengl::config and resources:text_file. The former one, I hope, will become universal configuration manager, while the latter will be a part of resources manager that will support asynchronous file loading (that will allow us to almost remove loading screen and load all stuff while player is reading briefing).

Tech talk: off

Full pack (http://www22.zippyshare.com/v/74304655/file.html)

@gevatter Lars: I think in the tech talk above is the answer to your question. Post-processing effects are going to be configured using tbl files. Some of them will be enabled only by sexps (for example film grain in cutscenes) while the rest (for example bloom or motion blur) will be enabled all the time unless disabled via launcher flag.
Title: Re: Post-processing
Post by: Mongoose on August 12, 2009, 05:10:59 pm
Dammit, I really wish I was capable of running shaders, so I could see all of this cool stuff in action. :(
Title: Re: Post-processing
Post by: Axem on August 12, 2009, 09:04:12 pm
Awesome stuff. The only thing I would like to recommend is could the set-post-effect sexp have a transition time like most of the other cutscene sexps have? So the effect wouldn't go just 0 to 100 in one frame. It'd make in-game transitions easier to look at. :)

(BTW Awesome stuff, did I say that already?)
Title: Re: Post-processing
Post by: pecenipicek on August 12, 2009, 09:09:51 pm
perhaps add a milisecond option to specify in which time it should go from 0-100.
Title: Re: Post-processing
Post by: Axem on August 12, 2009, 09:23:08 pm
That's... what I kinda suggested... The transition from current to the intended value. Sorry if I wasn't clear enough.
Title: Re: Post-processing
Post by: portej05 on August 12, 2009, 10:50:07 pm
Hi Hery,

This stuff is looking fantastic, and there's been a fair bit of discussion (on IRC) amongst folks about how to get it into trunk - the first step will be staging through Antipodes, and then moving into trunk at some point after that.
Given that we're also looking at some graphics related overhaul ideas, we're being careful not to commit to anything that's going to be a pain to support over a transition or destroy a lot of work.
We'd like to hear what you think would be some good improvements/architecture changes to the rendering system, and what we'd need to change in order to more flexibly use shaders.
Given that you've changed a fair amount in order to get this working so far (AWESOME!  :D ), we'd like to keep as much as possible!

Best way to get in touch with the coders is to jump onto #scp on espernet or via PM to Goober5000, karajorma, Sushi, Echelon9, portej05, Wanderer, taylor (who did a lot of the original OpenGL implementation), or anyone else you see with an 'SCP' badge (I'm sure I've forgotten someone important).

portej05
Title: Re: Post-processing
Post by: pecenipicek on August 13, 2009, 03:23:04 am
Rejoice, for i bring screenshots!

(http://img11.imageshack.us/img11/5098/screen0032.th.jpg) (http://img11.imageshack.us/img11/5098/screen0032.jpg)(http://img197.imageshack.us/img197/9747/screen0033.th.jpg) (http://img197.imageshack.us/img197/9747/screen0033.jpg)(http://img199.imageshack.us/img199/7121/screen0043c.th.jpg) (http://img199.imageshack.us/img199/7121/screen0043c.jpg)
(http://img199.imageshack.us/img199/3254/screen0045f.th.jpg) (http://img199.imageshack.us/img199/3254/screen0045f.jpg)(http://img199.imageshack.us/img199/2466/screen0047.th.jpg) (http://img199.imageshack.us/img199/2466/screen0047.jpg)






(http://img195.imageshack.us/img195/7379/screen0053.th.jpg) (http://img195.imageshack.us/img195/7379/screen0053.jpg)(http://img195.imageshack.us/img195/1534/screen0055.th.jpg) (http://img195.imageshack.us/img195/1534/screen0055.jpg)(http://img32.imageshack.us/img32/62/screen0056e.th.jpg) (http://img32.imageshack.us/img32/62/screen0056e.jpg)

(http://img195.imageshack.us/img195/3391/screen0062.th.jpg) (http://img195.imageshack.us/img195/3391/screen0062.jpg)(http://img195.imageshack.us/img195/7613/screen0071.th.jpg) (http://img195.imageshack.us/img195/7613/screen0071.jpg)(http://img195.imageshack.us/img195/6876/screen0073.th.jpg) (http://img195.imageshack.us/img195/6876/screen0073.jpg)

(http://img32.imageshack.us/img32/2621/screen0076p.th.jpg) (http://img32.imageshack.us/img32/2621/screen0076p.jpg)(http://img10.imageshack.us/img10/8121/screen0078e.th.jpg) (http://img10.imageshack.us/img10/8121/screen0078e.jpg)(http://img197.imageshack.us/img197/3547/screen0079.th.jpg) (http://img197.imageshack.us/img197/3547/screen0079.jpg)

(http://img268.imageshack.us/img268/2439/screen0081.th.jpg) (http://img268.imageshack.us/img268/2439/screen0081.jpg)




also, found another bug. when scripts are used for mission loading, (Like the mainhall script... (http://www.hard-light.net/forums/index.php/topic,56122.msg1134689.html#msg1134689)), it results in a grey screen when ran with the postprocessing flag.
Title: Re: Post-processing
Post by: Tolwyn on August 13, 2009, 04:14:57 am
downloaded latest package - crash on startup:

System: Intel Quad 8200, Radeon 4670, Vista x64. Debug log attached. ;)

By the way, the effect in the above shots is totally overused. Honestly.

[attachment deleted by Tolwyn]
Title: Re: Post-processing
Post by: Nighteyes on August 13, 2009, 05:22:28 am
I think he was just trying to show it working in-game, nobody want's THIS much bloom :P
Title: Re: Post-processing
Post by: pecenipicek on August 13, 2009, 05:26:41 am
exactly. my eyes and head still hurt at the moment XD
Title: Re: Post-processing
Post by: Tolwyn on August 13, 2009, 05:42:18 am
I wish I could test it too. :lol:

Guess it is a common ATI problem.
Title: Re: Post-processing
Post by: Hery on August 13, 2009, 06:49:54 am
Download (http://www4.zippyshare.com/v/76291999/file.html)

Motion blur: implemented :D
Unfortunately, it's not optimized yet, and you should expect unacceptable performance loss. I'm going on holidays, so I wanted to give you what I already have. Also feel free to report any problems, but keep in mind that I won't be able to fix them before 28th September.

@portej05: I'll contact you when I'm back.
Title: Re: Post-processing
Post by: pecenipicek on August 13, 2009, 07:38:18 am
it looks nicely tho, and not much performance hit in the test scene...


i'm attaching my test mission below.

1 activates bloom
2 activates film grain
3 activates motion blur



also, take note. motion blur looks like crap when viewed in screenshots, however when viewed ingame it makes a nice effect.


even tho its a "wee" bit dizzying. i feel a bit funny at the moment so i really dont reccomend that you view it for prolonged periods.

[attachment deleted by Tolwyn]
Title: Re: Post-processing
Post by: Ace on August 13, 2009, 10:42:45 am
The film grain looks like it has interlacing. Could a version of it without interlacing be done?
Title: Re: Post-processing
Post by: pecenipicek on August 13, 2009, 11:10:20 am
you mean to make it more the way mass effect had it? that tiny barely seeable amount of grain that just added to the atmosphere?
Title: Re: Post-processing
Post by: Ace on August 13, 2009, 02:32:28 pm
Yes, but this film grain also seems to have strong horizontal lines, interlacing.
Title: Re: Post-processing
Post by: Colonol Dekker on August 13, 2009, 02:57:34 pm
Have you updated the link in your first post?
 
It tends to avoid confusion later on :)
Title: Re: Post-processing
Post by: gevatter Lars on August 14, 2009, 04:19:41 am
Looking at the images above...they are kinda like modern art. Looking at the small thumbnails it kinda reminded of the inc-art style from the Streetfighter 4 trailer/intro. ^_^
Well I will try to test it with Saga as I don't have FS installed. That the stuff will be used over tbl files and flags in the launcher is a good thing.
Title: Re: Post-processing
Post by: Zacam on August 16, 2009, 01:58:05 am
My line in film grain is a full diagonal from upper-right to bottom-left.
Title: Re: Post-processing
Post by: Luis Dias on August 19, 2009, 09:38:32 am
Just jumped to say that this is frakkin brilliant. I just hope that it will be possible to make simple gradients of an effect from 0 to 1, say, in x seconds. That would bring a whole new world of possibilities to writers in SCP.

Thumbs up people!! :yes:
Title: Re: Post-processing
Post by: DaBrain on August 22, 2009, 02:53:43 pm
How can I make the motion blur effect more subtle?

I want to move the samples closer together, so there is less "scattering".



Also, is it possible to implement SSAO now?
Or distortion shockwaves for explosions?

What abour real overblending lensflares?
That's one thing I always wanted to see in FS2.
Title: Re: Post-processing
Post by: Commander Zane on August 22, 2009, 03:26:06 pm
If you could get the kind of effects Nexus 2 would've had, that would be awesome.
Title: Re: Post-processing
Post by: Galemp on August 22, 2009, 06:13:31 pm
Superbloom on warp-ins could do a hell of a lot to get rid of that nasty sharp edge on the clipping plane when something jumps in.
Title: Re: Post-processing
Post by: Dark RevenantX on August 22, 2009, 07:23:30 pm
The problem is: no, none of that can happen because the only thing this method can differentiate between is the UI versus the rendered frame.  Full-screen post processing effects are the only things possible, unless someone wants to go through the code and actually try to figure out a reliable way to layer the effects.  Something like that, though, is going to be horrendously difficult to accomplish, and will result in a huge video memory drain.

Edit: About the motion blur, is there a way to change the algorithm so that it takes into account your framerate?  The blur should be strengthened for high framerates and lowered for low framerates (step size difference) - this will consume more vram though.  For a true Crysis-quality motion blur you'll need to do more than that, though, and this hack won't be sufficient - unless you have an ungodly huge amount of video memory.
Title: Re: Post-processing
Post by: Rodo on August 22, 2009, 07:45:41 pm
just tested it, it works just fine... a nice adding guys ^^

PD: pecenipicek, next time add options to turn off some of the effects if possible :D


Edit:

dammit! it looks like a setekh's piece of work..

(http://img134.imageshack.us/img134/4193/allinone.jpg)
Title: Re: Post-processing
Post by: Rodo on August 22, 2009, 09:05:43 pm
I got some issues to report... I was just testing this on a regular test mission I got and it seems that motion blur is always active, and some of the ships seem to get a weird texture problem on the radar window, here's a pic of that weird radar window problem:

(http://img22.imageshack.us/img22/2028/borked1.jpg)
(http://img14.imageshack.us/img14/7323/borked2.jpg)

Here are my specs:
C:\Games\FreeSpace2\FS2_PP_R.exe -mod testing,mediavps -spec -glow -env -mipmap -nomotiondebris -noscalevid -missile_lighting -normal -3dshockwave -post_process -cache_bitmaps -dualscanlines -targetinfo -orbradar -rearm_timer -ballistic_gauge -ship_choice_3d -weapon_choice_3d -3dwarp -warp_flash -snd_preload  -ambient_factor 50 -spec_exp 11 -spec_point .6 -spec_static 1 -spec_tube .5 -ogl_spec 82 -fov .88

attached the mission file if you want it to test

the problem with the textures does not happen when the post processing option is deactivated in this very same build.


[attachment deleted by Tolwyn]
Title: Re: Post-processing
Post by: Kiloku on August 23, 2009, 12:11:47 am
How do I install it? I download the package, but don't know what to do with it..
Title: Re: Post-processing
Post by: asyikarea51 on August 23, 2009, 01:54:26 am
Wow all those overdone effect pics in pecenipicek's post on page 5 make even the simplest explosions and jumps look like a repeat of the Capellan supernova explosion... COOL!!!! :lol:
Title: Re: Post-processing
Post by: Aardwolf on August 23, 2009, 10:29:40 am
I'd like to point out that applying bloom to the background makes it looks weird.

A solution in other games that use bloom is to use another channel (e.g. the alpha channel, if it's available) to store how much "extra" brightness stuff has... backgrounds would have no extra brightness, and glowy things (e.g. engines, or lasers, etc.) would have an alpha channel to control that...

But that might not be so easily doable in FS2.
Title: Re: Post-processing
Post by: pecenipicek on August 23, 2009, 01:24:35 pm
actually, there is an alternative... screw the texture channels. yes, it gives much more control over the effects. do you really need that actual control or would a simple table based number suffice? (a float of course)
Title: Re: Post-processing
Post by: Colonol Dekker on August 23, 2009, 01:54:48 pm
Hmmm, bloom and motion blur together appear to kill my framerate :(
Title: Re: Post-processing
Post by: Kiloku on August 23, 2009, 02:10:57 pm
Pleeease, someone teach me how to use it :P
Title: Re: Post-processing
Post by: Colonol Dekker on August 23, 2009, 02:13:05 pm
Does this not cover it? :confused:


Hi,
I thought it would be nice if fs2_open supported post-processing...

Full pack (http://www4.zippyshare.com/v/76291999/file.html) (patch, builds, demo mission, shaders)
Original pack (with some bugs): Full pack (http://www23.zippyshare.com/v/8878949/file.html)

Almost everything (but HUD and some other things) is rendered to a texture (using Frame Buffer Object) and then drawn using shaders pair "post-*.sdr". This enables huge number of new effects to use in fs2_open, I've implemented the simplest ones: (de)saturation, contrast, distort noise. Additionally, now it would be easy to implement full frame motion blur.

In order to customize post-processing effects I added three new sexps: set-saturation (0% - 100%), set-contrast (from -100% to +100%), set-distort-noise (0 - 100).

I believe this patch can be improved in the area of code reusability - I'm still not very familiar with all source code and fs2_open internal architecture doesn't help. Any feedback will be appreciated.

Post-procesing requires glsl and fbo enabled and flag -post_process set.

Example Screenshots:
Saturation: 0% (http://img14.imageshack.us/img14/4098/screen0015.jpg)
Saturation: 0%, Distort Noise: 50 (http://img14.imageshack.us/img14/7569/screen0016.jpg)
Saturation: 100%, Distort Noise: 50 (http://img188.imageshack.us/img188/7295/screen0017.jpg)

Demo mission after 5 seconds sets saturation to 0, then after next 10 seconds sets distort noise to 50, then after 15 seconds sets saturation back to 100% and finally after 10 seconds sets contrast to +25%.
Title: Re: Post-processing
Post by: Kiloku on August 23, 2009, 02:37:31 pm
no.. I download the pack, but don't know what to do with it
Title: Re: Post-processing
Post by: sigtau on August 23, 2009, 02:42:34 pm
Now all we need is a pixel shader for the warpout so the clipping isn't as bad.
Title: Re: Post-processing
Post by: Rodo on August 23, 2009, 03:05:14 pm
no.. I download the pack, but don't know what to do with it

here's what you need to do.

place the exe's on the root directory of FS, rename them as you like.

place the .patch on the FS root directory as well.

Create a MOD folder, name the mod folder whatever you like, add a mod.ini with all the fuzz you want (with this I mean add the mediavps and anything else you want to use the mod ini) then create the data/effects and data/missions folders in the mod one.
Now place the .sdr files on the effects folder, then place the mission on the mission folder.

Run the Launcher, select the exe, activate the post-processing option in the graphics tab, and you should be ready to go.

Note that the post processing effects are activated from SEXP's so you need a custom made mission to activate-deactivate them, pecenipicek's mission works just fine.
Title: Re: Post-processing
Post by: Reprobator on August 23, 2009, 04:40:13 pm
I'd like to point out that applying bloom to the background makes it looks weird.

A solution in other games that use bloom is to use another channel (e.g. the alpha channel, if it's available) to store how much "extra" brightness stuff has... backgrounds would have no extra brightness, and glowy things (e.g. engines, or lasers, etc.) would have an alpha channel to control that...

But that might not be so easily doable in FS2.
I'm affraid taht alpha channel's are generally already busy.
But you are right, i ve test it with a custom planet (a blue planet and it looks quite strange) but the same effectg applyed to sun and nebula looks good imo
Title: Re: Post-processing
Post by: pecenipicek on August 24, 2009, 01:12:05 am
no.. I download the pack, but don't know what to do with it

here's what you need to do.

place the exe's on the root directory of FS, rename them as you like.

place the .patch on the FS root directory as well.

Create a MOD folder, name the mod folder whatever you like, add a mod.ini with all the fuzz you want (with this I mean add the mediavps and anything else you want to use the mod ini) then create the data/effects and data/missions folders in the mod one.
Now place the .sdr files on the effects folder, then place the mission on the mission folder.

Run the Launcher, select the exe, activate the post-processing option in the graphics tab, and you should be ready to go.

Note that the post processing effects are activated from SEXP's so you need a custom made mission to activate-deactivate them, pecenipicek's mission works just fine.
important note, the .patch file can be safely ignored, since its just the code difference file. aka, source code which is just there for the sake of convenience.


in general, if you dont know anything about modding people, please dont use it, since it most likely wont work for you.
Title: Re: Post-processing
Post by: portej05 on August 24, 2009, 03:17:24 am
in general, if you dont know anything about modding people, please dont use it, since it most likely wont work for you.

A note for modders also: Please don't rely on these changes - this really is proof of concept stuff - it may not be in this form when it ends up in trunk.
Note that this is the sort of thing that Antipodes is created for, so it will end up there first.
If you haven't tested Antipodes #2 please go and do that because Hery's unified shader patch is being staged there for a little longer before going into trunk.
Title: Re: Post-processing
Post by: pecenipicek on August 24, 2009, 12:08:46 pm
i did some minor testing. can you incorporate the most recent motion blur into the antipodes too? would be better to test it all together.
Title: Re: Post-processing
Post by: Solatar on August 24, 2009, 12:38:11 pm
I've been playing almost exclusively with this bloom build and the antipodes #2 for awhile to test. Only issue I've had with this post processing build is that if there's too much stuff on screen, the build ****s itself and just turns black. Doesn't happen too often, but some ITHOV missions caused it.
Title: Re: Post-processing
Post by: pecenipicek on August 24, 2009, 12:42:04 pm
the FBO buffer overflows itself and craps out. i believe it might be related to the number of ships on-screen or the number of textures loaded. or the overall brightness of something... in any something somewhere needs to be clamped in short.
Title: Re: Post-processing
Post by: falcon2105 on August 24, 2009, 02:52:08 pm
Do normal maps have to be enabled/working for this to work? Or has anyone tested this on the famous ATI x1xxx cards that have had about a bagillion issues with fso? Cuz my normal maps don't work and i have an x1650pro and this doesn't work when i have normal maps disabled, and when i have normal maps enabled (which normally makes my game freeze) the game freaks out in a new fantastic way (sound continues to play, screen gets all garbled up).
Title: Re: Post-processing
Post by: pecenipicek on August 24, 2009, 05:44:43 pm
if you want any of these to work, use a more recent card. its extremely unoptimised code first of all, second of all IT IS NOT, and i emphasize IT IS NOT SOMETHING THAT YOU SHOULD ACTUALLY USE OTHER THAN FOR TESTING.
Title: Re: Post-processing
Post by: Solatar on August 24, 2009, 06:52:23 pm
Or if you have, like me, fallen in love with some of the bloom and decided to use it on an almost regular basis, be prepared for plenty of bugs and slowdowns.
Title: Re: Post-processing
Post by: pecenipicek on August 24, 2009, 09:59:50 pm
yeah, pretty much
and it probably wont get any fixups, due to hery's absence till almost the end of september
Title: Re: Post-processing
Post by: Kiloku on August 25, 2009, 04:32:30 am
in general, if you dont know anything about modding people, please dont use it, since it most likely wont work for you.

I admit I don't know about modding, but I don't want to make this work just for "ooohs" and "aaahs" when I see the "pretty effects". As many of you said, this is experimental, and needs to be tested. And unless I done something wrong (I don't think I did, btw), it isn't working for me. I followed all of Rodo's instructions, created a mod folder called "postproc", the mod.ini with the MediaVPs, both .sdr files on the Data/Effects and both missions in Data/Missions. I activated the post-processing flag, and it still didnt work, it's the same as playing without post processing at all.

I'll detail my system configurations and video card later, because I have to leave, sorry.
Title: Re: Post-processing
Post by: pecenipicek on August 25, 2009, 07:47:44 am
one of the missions uses keys to trigger the effects, the other one uses timed sexp's
Title: Re: Post-processing
Post by: Rodo on August 25, 2009, 09:04:34 am
Yes the testing part is something that seems to be lacking and coders can't do all the work themselves, I praise you ^^

as pecenipicek said, there are two special missions that you need to play from the mission simulator, I would recommend pecenipicek's one since you can trigger the effects yourself pressing 1, 2 or 3.

also worthy checking:
do you have an Nvidia card or an ATI?
might be a problem with the ATI drivers, they are known to cause trouble IIRC.




Title: Re: Post-processing
Post by: pecenipicek on August 25, 2009, 10:47:52 am
yeah, i think this doesnt actually work on ati's. didnt get the time to test it on my laptop's 3650...


also, i'll whip up a more complete test mission soon.
Title: Re: Post-processing
Post by: Kiloku on August 25, 2009, 06:30:12 pm
Yeah, mine is an ATI. I never had any kind of problem, though. I did wait for the timing in the first test mission and tried the keys in the second test mission. None worked.

ATI Radeon HD 3600 Series
Windows XP Professional SP3
Intel Core 2 Duo E4500 @2.20 GHz
2 GB RAM

C:\Games\FreeSpace2\fs2_open_3_6_11d.exe -mod postproc,mediavps -spec -glow -env -mipmap -nomotiondebris -missile_lighting -normal -3dshockwave -post_process -dualscanlines -targetinfo -orbradar -rearm_timer -ship_choice_3d -weapon_choice_3d -3dwarp -warp_flash -snd_preload  -ambient_factor 5 -no_emissive_light  -spec_exp 11 -spec_point .6 -spec_static .8 -spec_tube .4 -ogl_spec 80
Title: Re: Post-processing
Post by: Rodo on August 25, 2009, 06:58:12 pm
yeah.. that's probably the ATI thing.. I got the same settings you have so it should work.
Title: Re: Post-processing
Post by: Reprobator on August 29, 2009, 06:31:55 am
That work great with my ati now. (radeon hd4870 gs)
I just saw one issue :
WHen you activate the post process thing, the driver forced antialias and the aniso thing doesn't works anymore...
If we could still have these, this would improve the beauty of the thing.
Anyway having those option in the game without having to force them with the drivers would be way more comfortable.
Title: Re: Post-processing
Post by: pecenipicek on August 29, 2009, 08:59:46 pm
anisotropic filtering is implemented nicely iirc, that slider in the launcher actually does do something.
Title: Re: Post-processing
Post by: Herra Tohtori on August 29, 2009, 09:08:21 pm
anisotropic filtering is implemented nicely iirc, that slider in the launcher actually does do something.


Yet the actual results of the AF set only on Launcher suck compared to same level of AF set via driver control panel. At least on my NVidia gpu (GF8800GT).
Title: Re: Post-processing
Post by: pecenipicek on August 30, 2009, 01:35:16 am
dunno. i in general have failed to notice AF most of the time in pretty much any game, unless, my viewpoint was very near the floor.
Title: Re: Post-processing
Post by: Reprobator on August 30, 2009, 08:51:23 am
that's strange i didn't notice diffrence with af and aa slider to 16x and 0x
I thought it didn't work because if i do not force it with my driver i can swear there is no aa at all.
Title: Re: Post-processing
Post by: Hery on August 30, 2009, 01:05:43 pm
Quote
The problem is: no, none of that can happen because the only thing this method can differentiate between is the UI versus the rendered frame.  Full-screen post processing effects are the only things possible, unless someone wants to go through the code and actually try to figure out a reliable way to layer the effects.  Something like that, though, is going to be horrendously difficult to accomplish, and will result in a huge video memory drain.
We can use G-buffer to locally change effects intensity. The problem is that it might not work very well on older hardware, but I think that it is to early to worry about it since we don't have a line of deferred shading code.
Additionally, HDR seems to be ideal solution for all problems with choosing default bloom intensity.

Quote
Edit: About the motion blur, is there a way to change the algorithm so that it takes into account your framerate?  The blur should be strengthened for high framerates and lowered for low framerates (step size difference) - this will consume more vram though.

I really don't think that bounding motion blur intensity with delta time has anything to do with vram :D
Quote
For a true Crysis-quality motion blur you'll need to do more than that, though, and this hack won't be sufficient - unless you have an ungodly huge amount of video memory.
As I told in my previous posts, that is the simplest and the most naive implementation of motion blur. Additionally, that implementation is not optimized at all. Achieving Crysis-like quality is difficult since even more complicated algorithms have some serious pitfalls.

Quote
I thought it didn't work because if i do not force it with my driver i can swear there is no aa at all.
That's normal. AA needs to be implemented "manually" in order to use it with post processing.

Quote
Could a version of it without interlacing be done?
Of course, I will separate film grain from interlacing.

Quote
How can I make the motion blur effect more subtle?
Currently, only in separate missions using sexps. The problem will be ultimately solved when I will make post-processing effects fully configurable via tbl files.

Quote
Also, is it possible to implement SSAO now?
Or distortion shockwaves for explosions?
Both of these will need some amount of work but they are possible to implement.

All reported bugs will be fixed soon :D
Title: Re: Post-processing
Post by: pecenipicek on August 31, 2009, 01:37:50 am
SSAO is useless for us, since that effect is ungodly resource intensive, for not much benefit. and since most of the people can actually do proper 3D AO can be baked into the textures no problems.

Hery, please contact taylor and discuss with him about making a proper material system, since this is all basically just kludging on top of kludging.
Title: Re: Post-processing
Post by: portej05 on August 31, 2009, 04:08:12 am
Hi Hery,

Thanks for the update!
When you get back from vacation, could you jump on #scp (Esper) at some point so we can have a chat about where we're going with all of this!

Your unified shader diff has done its time in Antipodes, and is now in trunk.

thanks!

portej05
Title: Re: Post-processing
Post by: Zacam on September 26, 2009, 07:01:38 pm
For those of you having any issues with downloading the builds, I have them all mirrored in MediaFire now.

http://www.mediafire.com/?sharekey=41b2114aa4782081ab1eab3e9fa335cadeb48e60159b8df2
Title: Re: Post-processing
Post by: Hery on October 11, 2009, 01:50:12 pm
"New" post-processing: click (http://www.mediafire.com/?htlfnjyyqy0)
*.sdr files go to the effects directory
*.tbl file goes to the tables directory
*.exe files go to the main FSO directory
*.patch file is mainly for developers

For users:
1. new bloom implementation: better quality, better performance
2. removal of motion blur (it only caused problems and didn't look good)
3. post-processing effect defined in a table (post_processing.tbl). You can easily change default values as well as introduce simple effects without changing fso code.
4. bloom intensity can be set using flag -bloom_intensity (default value: 75)
5. many bugs fixed

Please attach debug log to your bug reports. It will make it easier and faster to solve problem.

For developers:
1. texture class to easily manage textures used in post-processing
2. render_target class to easily manage FBOs
3. object pools for texture and render_target classes
4. object-oriented design of post-processing implementation (post_processing, bloom, simple_effect, etc classes)
5. new shader type: special_shader (supports multiple passes, can be used both in main rendering and post-processing)

I want to let other parts of FSO take advantage from texture and render_target classes. I'm going to do this while implementing resources manager.
The code in introduced in patch is undocumented. It also probably doesn't support MSVC6. These problems will be solved before it will be committed to the antipodes branch.

Screenshots:
http://img117.imageshack.us/img117/2466/screen0047.jpg
http://img5.imageshack.us/img5/1716/screen0048.jpg
Title: Re: Post-processing
Post by: Reprobator on October 11, 2009, 02:40:09 pm
Ok, i've give it a try and it breaks cockpit compatibility, to be precise :
we have with that build clipping issue when we use a cockpit pof.
It do not behave as other builds. the cockpit pof should not clip with other object (dunno how it's done) but now it collide with objects etc..
It didn"t happen with your post process previous build too.
Title: Re: Post-processing
Post by: Hery on October 11, 2009, 02:44:46 pm
I should have expected that. I know where is the problem, it will be fixed soon.
Title: Re: Post-processing
Post by: Reprobator on October 11, 2009, 02:45:39 pm
Oh cool  :p
Title: Re: Post-processing
Post by: DaBrain on October 11, 2009, 04:32:35 pm
Amazing!

It work very well and I didn't notice any frame drop.  :yes:



The shield effects bloom. Nice!
(http://i36.tinypic.com/29p2s08.jpg)


Helps with the explosion intersections as well.
(http://i34.tinypic.com/2yjoe1c.jpg)


My only complaint is that the red shivan glow elements aren't bright enough to bloom.
Maybe extreme colors (~255,0,0) should bloom as well, if that is possible.


Will we later be able to set post processing effects on a per-mission basis?
Title: Re: Post-processing
Post by: Something on October 11, 2009, 04:37:20 pm
In the nebula missions, I only see the engine glows and afterburner trails from shivan ships. Also, after knocking down the shields, both primaries and secondaries pass through with no effect. Other than that, things seem stable and smooth.

Sorry if these questions irritates, but can someone tell me how to adjust bloom settings? What settings do others like?
Title: Re: Post-processing
Post by: Commander Zane on October 11, 2009, 05:27:19 pm
This is looking better and better. :D
Title: Re: Post-processing
Post by: Colonol Dekker on October 11, 2009, 05:55:10 pm
Bloom is all wanted. Since I first played supreme commander I thought, this is needed in the SCP. Only ting ting is motion blur appears to kill  my frame rate. Might be because I use it with bloom as well but I'll need to tweak the balance for my specs. 100 for both may be a tad overkill.
Title: Re: Post-processing
Post by: Kiloku on October 11, 2009, 06:20:14 pm
It doesn't work on my Graphics Card :/ 
ATI Radeon HD 3600, recently updated drivers...
Title: Re: Post-processing
Post by: pecenipicek on October 11, 2009, 09:19:35 pm
integrated or not?



also, that was present even before. blame ati, not programming :p
Title: Re: Post-processing
Post by: Zacam on October 11, 2009, 11:40:00 pm
Will we later be able to set post processing effects on a per-mission basis?

Akshually, yes. The previous post-processing builds had a sexp based timer event for kicking on and cycling through post-processing effects.
Title: Re: Post-processing
Post by: Tolwyn on October 12, 2009, 02:36:36 am
blame ati, not programming :p

Yep, let's blame ATI. It makes our life so much easier.  :doubt:
Title: Re: Post-processing
Post by: Commander Zane on October 12, 2009, 04:10:04 am
Because it's mostly true. :P
Title: Re: Post-processing
Post by: pecenipicek on October 12, 2009, 04:54:42 am
blame ati, not programming :p

Yep, let's blame ATI. It makes our life so much easier.  :doubt:
well, its a fact, most pre 4xxx series cards struggle with OpenGL due to not conforming to all the OGL conventions.

not to say they're crappy cards, but in this case the blame is justified. in any case, it can be fixed however, but that really depends on the way the shaders and the underlying code are written.

IOW, Hery needs to know the specific details if he is to fix it for ATi cards.
Title: Re: Post-processing
Post by: Hery on October 12, 2009, 07:25:38 am
It doesn't matter whose fault it is, mine, Ati, the great Cthulhu or anybody else. It just needs to be fixed.
Kiloku: Could you send me your debug log? I can't solve that problem without it since I have no opportunity to run FSO on Ati graphic card.
Title: Re: Post-processing
Post by: Something on October 12, 2009, 07:36:11 am
What about the problem in the nebula I mentions above? Has anyone else gotten that?
Title: Re: Post-processing
Post by: Hery on October 12, 2009, 07:51:58 am
@Something: the problem you reported is very strange. In fact, I weren't able to reproduce it.
Could you give me more information about that?

You can adjust bloom intensity using flag -bloom_intensity X where X is an integer value from 0 to 100 (0 is for no bloom)

@Colonol Dekker: there is no motion blur in the build I posted yesterday.
Title: Re: Post-processing
Post by: Something on October 12, 2009, 08:02:07 am
(http://img115.imageshack.us/img115/3986/fs2open3611r20091011221.th.jpg) (http://img115.imageshack.us/i/fs2open3611r20091011221.jpg/)

Terran ships are fine, but as you can see Shivans must of nicked some Klingon cloaking technology.

If you need tech details, how do I go about it? Do I play the level with the debug exe?



Title: Re: Post-processing
Post by: Colonol Dekker on October 12, 2009, 08:25:06 am
I didn't try the recent build. I'm still loving the original. . . Apart from the just mentioned point of balance finding. :)
Title: Re: Post-processing
Post by: Something on October 12, 2009, 08:38:59 am
Hmm, played the next nebula mission and all seems fine. The ships are there and are destructible now. Never mind then, must be a one mission thing.
Title: Re: Post-processing
Post by: Tolwyn on October 12, 2009, 10:34:35 am
It doesn't matter whose fault it is, mine, Ati, the great Cthulhu or anybody else. It just needs to be fixed.
Kiloku: Could you send me your debug log? I can't solve that problem without it since I have no opportunity to run FSO on Ati graphic card.

Just tell me how I can help you track this one down. ;)
Title: Re: Post-processing
Post by: Zacam on October 12, 2009, 12:44:12 pm
Me too. While I don't have an ATi at the moment, I like keeping on top of these issues.

Also, Hery, I noticed the post shaders using a different ATi ifdef than the unified shaders, should the unified ones use the same or are they okay being seperate?

(I haven't really looked at the function yet, just caught it in a glance through)
Title: Re: Post-processing
Post by: Hery on October 12, 2009, 02:13:14 pm
Just tell me how I can help you track this one down. ;)
Run debug build, try to play a mission, send me debug log, wait for my modifications in shader code, repeat :P

@Zacam: Unified, post-processing and special shaders don't have much in common, hence they use different ifdefs.
Title: Re: Post-processing
Post by: Reprobator on October 12, 2009, 04:21:06 pm
Did you find what's wrong with that clipping issue and the cockpit models?
Title: Re: Post-processing
Post by: Hery on October 12, 2009, 05:52:55 pm
The problem is solved. Tomorrow I will experiment with DaBrain suggestion to make extreme colors glow and then I will post updated builds.
Title: Re: Post-processing
Post by: Topgun on October 12, 2009, 07:23:37 pm
we should map intensity to a new map/channel, rather than making glow be based on color.
Title: Re: Post-processing
Post by: Tolwyn on October 13, 2009, 03:33:56 am
Here's my log

At least the EXE is no longer crashing upon start.

I have a Radeon 4650 card, by the way.

[attachment deleted by admin]
Title: Re: Post-processing
Post by: DaBrain on October 13, 2009, 03:51:06 am
we should map intensity to a new map/channel, rather than making glow be based on color.

That would involve altering the current ship shaders... (Even then I don't know if it's actually possible...)

I doubt that is a good idea until Hery is done with the resource and material systems.
Title: Re: Post-processing
Post by: Nighteyes on October 13, 2009, 06:00:17 am
can't we just make the glow maps glow? and on top of that the regular specular bloom?
Title: Re: Post-processing
Post by: DaBrain on October 13, 2009, 06:59:27 am
That's the same thing Topgun asked for.
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 07:33:54 am
we should map intensity to a new map/channel, rather than making glow be based on color.
Bloom is based on luminance, not color.
Personally, I don't see many reasons to use G-buffer to store bloom intensity.

Quote
can't we just make the glow maps glow? and on top of that the regular specular bloom?
If you make them bright enough they will glow.

@Tolwyn: what about -post_process flag?
Title: Re: Post-processing
Post by: Commander Zane on October 13, 2009, 07:36:25 am
If you make them bright enough they will glow.
Glow as in X3: Terran Conflict glowmap glows? Show me.
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 07:48:06 am
They have to be bright enough not to be cut off by high-pass filter.
Ok, I agree that it is a good idea to make bloom at some places more intense than at the another, but that won't be achieved until alpha channel is used by opaque objects. However, that will be only an addition to the current effect that probably will make things easier.
Title: Re: Post-processing
Post by: Tolwyn on October 13, 2009, 07:54:52 am
@Tolwyn: what about -post_process flag?

Crap. Knew I forgot something...

[attachment deleted by admin]
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 08:00:22 am
brightpass-f.sdr
Code: [Select]
uniform sampler2D tex;

const float Luminance = 0.08;
const float fMiddleGray = 0.18;
const float fWhiteCutoff = 0.8;

// High-pass filter
void main() {
vec4 ColorOut = texture2D(tex, gl_TexCoord[0].xy);

ColorOut *= fMiddleGray / ( Luminance + 0.001 );
ColorOut *= ( 1.0 + ( ColorOut / ( fWhiteCutoff * fWhiteCutoff ) ) );
ColorOut -= 6.0;

ColorOut = max( ColorOut, 0.0 );

// ColorOut /= ( 10.0 + ColorOut );

gl_FragColor = ColorOut;
}

Title: Re: Post-processing
Post by: Nemesis6 on October 13, 2009, 11:00:06 am
I have encountered two bugs with last downloadable version posted by Hery: 50% of the time, upon loading up a mission from the standard campaign, I'll get an error about some thing that didn't load or something, didn't get to see it in full, sorry. Second, when I check the spinning weapon animations on the loudout screen, one will be replaced with a kind of template image. Lastly, on the Knossos portal, the surfaces would have a sort of purple shine, like the glowmap or something is missing. Got some screenshots, looking for the location they're saved now.
Title: Re: Post-processing
Post by: The E on October 13, 2009, 11:06:37 am
In your FS2 folder, there should be a folder called screenshots. The images will be there in tga format; you'll need to convert them to jpg or png before uploading.

If you're on Vista or 7, and FS2 is in C:\program files\, you may need to click on the "Compatibility files" button in the Explorer window that shows up when you're looking at the FS2 folder.
Title: Re: Post-processing
Post by: Nemesis6 on October 13, 2009, 11:37:44 am
http://img394.imageshack.us/i/screen0001.jpg/
http://img384.imageshack.us/i/screen0002.jpg/

I'll see if I can get some of the errors... damn, lazyness is a burden.
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 11:45:07 am
There was a bug that lookd similar to this but I'm nearly 100% sure it is already fixed. Have you checked if this happens on other builds?

Error messages in FSO are ususally copied to the clipboard.
I would like you to run this mission on debug build and send me the log (which is in Data/fs2_open.log in the main fs directory).

Update: I've played a mission with Knossos and env mapping looks similar to the "problems" on your screenshots. Are you sure it's not a feature but a bug? :P
Title: Re: Post-processing
Post by: Nighteyes on October 13, 2009, 12:40:19 pm
Any idea why its working in one mod and in another not? in Earth Defence its working, but in Diaspora all i get is a hud and a black screen, while the game plays in the background...
Title: Re: Post-processing
Post by: Tolwyn on October 13, 2009, 12:55:25 pm
brightpass-f.sdr
Code: [Select]
uniform sampler2D tex;

const float Luminance = 0.08;
const float fMiddleGray = 0.18;
const float fWhiteCutoff = 0.8;

// High-pass filter
void main() {
vec4 ColorOut = texture2D(tex, gl_TexCoord[0].xy);

ColorOut *= fMiddleGray / ( Luminance + 0.001 );
ColorOut *= ( 1.0 + ( ColorOut / ( fWhiteCutoff * fWhiteCutoff ) ) );
ColorOut -= 6.0;

ColorOut = max( ColorOut, 0.0 );

// ColorOut /= ( 10.0 + ColorOut );

gl_FragColor = ColorOut;
}



Still no difference...

Code: [Select]
Frame  0 too long!!: frametime = 57.573 (57.573)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  78.280
render_target: creating new 256x256 FBO
texture_pool: creating new 256x256 texture
texture_pool: creating new 256x256 texture
  Compiling special shader ->  post-v.sdr / brightpass-f.sdr ...
  Compiling special shader ->  post-v.sdr / blur-f.sdr ...
Fragment shader failed to compile:
Fragment shader failed to compile with the following errors:
ERROR: 0:2: '' :  #version must occur before any other statement in the program
ERROR:  compilation errors.  No code generated.

ERROR! Unable to create fragment shader!
Post-processing disabled.
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 01:08:01 pm
@Nighteyes: No idea until I see the debug log. That's an old bug that I completely forgot about. Additionally, I haven't heard of any other mod that has such problems with post-processing.

@Tolwyn: that's a big difference :P Now, the whole brightpass-f.sdr code is acceptable for Ati cards. The problems causes bloom-f.sdr, but to fix that I'll have to do some modifications in FSO code, so the build will be available later.

Update:
Cockpit clipping problem: solved.
A few of the large number of problems with shaders on Ati cards: solved.
Additional modifications: more intense bloom (if you don't like it, then just take advantage of -bloom_intensity flag :D )

Download (http://www.mediafire.com/?2cqm3d23yky)

Please, attach debug log to your bug report. That will make solving problems much easier and faster.
Title: Re: Post-processing
Post by: Tolwyn on October 13, 2009, 03:15:17 pm
Allright, updated shaders and the EXE and run the debug build again. Here's the output.

Code: [Select]
Frame  0 too long!!: frametime = 37.147 (37.147)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  60.702
render_target: creating new 256x256 FBO
render_buffer: creating new 256x256 render buffer
texture_pool: creating new 256x256 texture
texture_pool: creating new 256x256 texture
  Compiling special shader ->  post-v.sdr / brightpass-f.sdr ...
  Compiling special shader ->  post-v.sdr / blur-f.sdr ...
  Compiling post shader (0x1f) ->  post-v.sdr / post-f.sdr ...
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 03:34:03 pm
There is no error message in that part of the log, so it means that all shaders compiled without problems. However, in most cases the first post shader is 0 (no 0x1f). Is this a post-processing demo mission or have you changed anything in post_processing.tbl?
Title: Re: Post-processing
Post by: Tolwyn on October 13, 2009, 03:56:54 pm
I'll check tomorrow. I did modify some values in the tbl in a futile hope of getting it to do something. Is the demo mission actually included in the download package?
Title: Re: Post-processing
Post by: Topgun on October 13, 2009, 04:20:47 pm
Bloom is based on luminance, not color.
Personally, I don't see many reasons to use G-buffer to store bloom intensity.
ye, what I mean is don't make it based on the RGB, instead give it a new channel, like RBGA, but instead of alpha, make it Gamma.

you can use the alpha channel from the glow map for the intensity channel.
that way we can have white textures that only glow when highlighted, pure red that glows ect.
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 04:32:53 pm
That's what I said in next post, but since translucent and opaque objects are rendered together we can't do this. Bear in mind that this post-processing pack contains only basic elements which I will use to introduce more advanced effect. Rewriting large amount of the rendering code doesn't qualify as "basic element". ;P It will be done later.

The other thing is that we can't make bloom based only on a value in that channel, it has to be mainly based on the luminance (as it is now). The additional channel can be used only to make some things glow even more.

@Tolwyn: I haven't included any demo mission in the two latest packs, but the previous ones are still valid. It also is ok, that you changed some things in the tbl, since this explain why the default post-processing shader wasn't 0 but 0x1f :P
However, if post-processing is still not working I will need your full debug log.
Title: Re: Post-processing
Post by: Topgun on October 13, 2009, 04:43:36 pm
anyway you can make it based on luminance in relation to the rest of the screen?
as in, things that are not-so-bright will still glow if the rest of the screen is black, that would be a bit more realistic.
Title: Re: Post-processing
Post by: Hery on October 13, 2009, 04:51:38 pm
That will require another "effect": tone mapping. Of course, I can do this, it will provide us with a fake HDR effect, which quality may be quite good. However, that's on my list of the more advanced post-processing effects (although it's not difficult at all), and will be implemented after the basic post-processing is commited to the antipodes branch.
Title: Re: Post-processing
Post by: Topgun on October 13, 2009, 04:52:25 pm
gotcha, thanks.
Title: Re: Post-processing
Post by: Zacam on October 13, 2009, 08:10:52 pm
Hery, If I might, I would like to make a small feature request:

When you update the downloadable package, could you maybe add the date at the end so that we don't end up over-writing previous downloads or having a bunch of (2), (3) copies?
Title: Re: Post-processing
Post by: Tolwyn on October 14, 2009, 03:22:28 am
There you go. ;)

[attachment deleted by admin]
Title: Re: Post-processing
Post by: Nemesis6 on October 15, 2009, 10:09:17 am
Code: [Select]
Error: Invalid subsystem name.

In sexpression: ( when
   ( and
      ( is-subsystem-destroyed-delay
         "Zephyrus 11-NTF"
         "communications"
         0
      )
      ( is-subsystem-destroyed-delay
         "Zephyrus 7-NTF"
         "communications"
         0
      )
      ( is-subsystem-destroyed-delay
         "Zephyrus 6-NTF"
         "communications"
         0
      )
   )
   ( do-nothing )
)
(Error appears to be: communications)
File: missionparse.cpp
Line: 5273


Call stack:
------------------------------------------------------------------
------------------------------------------------------------------

http://img261.imageshack.us/i/bug1e.jpg/
http://img381.imageshack.us/i/bug2.jpg/
http://img384.imageshack.us/i/bug3.jpg/
http://img399.imageshack.us/i/bug4.jpg/

Finally got a dump of one of the crashes, but they seem totally random.
Title: Re: Post-processing
Post by: FUBAR-BDHR on October 15, 2009, 03:28:06 pm
That first error is caused by the table not containing a communications subsystem for one of the 3 ships in that event. 

2 of the others look like a know bug introduced in revision 5606. 
Title: Re: Post-processing
Post by: Zacam on October 15, 2009, 03:34:07 pm
5608 actually. But close enough.
Title: Re: Post-processing
Post by: Nemesis6 on October 15, 2009, 06:09:04 pm
If it helps, once again, these errors are random in the sense that they happen sometimes when I try to launch a mission. Launching the mission again then yields no problem after the game is restarted.
Title: Re: Post-processing
Post by: FUBAR-BDHR on October 15, 2009, 07:47:19 pm
Can you post the table entries for Zephyrus 11-NTF, Zephyrus 7-NTF, and Zephyrus 6-NTF as well as the mission this occurs in. 
Title: Re: Post-processing
Post by: Kiloku on October 17, 2009, 12:35:34 am
Sorry for taking so long. I made 2 logs: In the first, I used the old test mission, but with the new post-processing files. In the second, I used 2 campaign missions: The Sixth Wonder, which crashed in both tries as soon as I tried to target the enemy corvette which was firing at the GTI Arcadia, and Into The Maelstrom, which functioned properly, but (as all other missions I tried) had no Post-Processing.
Code: (First Log) [Select]
==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.11
Passed cmdline options:
  -spec_exp 11
  -ogl_spec 50
  -spec_static .8
  -spec_point .6
  -spec_tube .4
  -ambient_factor 5
  -env
  -mipmap
  -missile_lighting
  -glow
  -nomotiondebris
  -spec
  -no_emissive_light
  -normal
  -3dshockwave
  -post_process
  -bloom_intensity 75
  -dualscanlines
  -orbradar
  -rearm_timer
  -targetinfo
  -3dwarp
  -ship_choice_3d
  -weapon_choice_3d
  -warp_flash
  -snd_preload
  -mod postproc,mediavps
Building file index...
Found root pack 'C:\Games\FreeSpace2\mediavps\3610_Patch.vp' with a checksum of 0x07e72699
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' with a checksum of 0xd06bf123
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' with a checksum of 0xc9e372bb
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' with a checksum of 0x0dc7bb8f
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' with a checksum of 0xa3141c30
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' with a checksum of 0x4dbbbe96
Found root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'C:\Games\FreeSpace2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'C:\Games\FreeSpace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'C:\Games\FreeSpace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'C:\Games\FreeSpace2\postproc\' ... 14 files
Searching root 'C:\Games\FreeSpace2\mediavps\' ... 6 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\3610_Patch.vp' ... 180 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' ... 2868 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' ... 1810 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' ... 146 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' ... 1046 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' ... 32 files
Searching root 'C:\Games\FreeSpace2\' ... 38 files
Searching root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' ... 110 files
Searching root pack 'C:\Games\FreeSpace2\root_fs2.vp' ... 157 files
Searching root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'C:\Games\FreeSpace2\stu_fs2.vp' ... 2355 files
Searching root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' ... 32 files
Searching root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' ... 15 files
Searching root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\warble_fs2.vp' ... 52 files
Found 19 roots and 13245 files.
AutoLang: Language auto-detection successful...
Setting language to English
TBM  =>  Starting parse of 'mv_strings-lcl.tbm' ...
Initializing OpenAL...
  Using 'Generic Software' as OpenAL sound device...
  OpenAL Vendor     : Creative Labs Inc.
  OpenAL Renderer   : Software
  OpenAL Version    : 1.1

... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 1280x1024 with 32-bit color...
  Initializing WGL...
  Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  Actual WGL Video values    = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  OpenGL Vendor     : ATI Technologies Inc.
  OpenGL Renderer   : ATI Radeon HD 3600 Series
  OpenGL Version    : 2.1.8918

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Using extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Using extension "GL_SGIS_generate_mipmap".
  Using extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Using extension "GL_ARB_point_sprite".
  Using extension "GL_ARB_shading_language_100".
  Using extension "GL_ARB_shader_objects".
  Using extension "GL_ARB_vertex_shader".
  Using extension "GL_ARB_fragment_shader".
  Using extension "GL_ARB_shader_texture_lod".
  Found special extension function "wglSwapIntervalEXT".


Initializing Shaders Manager...
Loading and compiling main shaders...
  Compiling main shader ->  null-v.sdr (null-v.sdr) / null-f.sdr (null-f.sdr) ...
  Compiling main shader ->  b-v.sdr (b-v.sdr) / b-f.sdr (b-f.sdr) ...
  Compiling main shader ->  b-v.sdr (b-v.sdr) / bg-f.sdr (bg-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lb-f.sdr (lb-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lbg-f.sdr (lbg-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lbgs-f.sdr (lbgs-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lbs-f.sdr (lbs-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lbgse-f.sdr (lbgse-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lbse-f.sdr (lbse-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbgn-f.sdr (lbgn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbgsn-f.sdr (lbgsn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbn-f.sdr (lbn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbsn-f.sdr (lbsn-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lbgsne-f.sdr (lbgsne-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lbsne-f.sdr (lbsne-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfb-f.sdr (lfb-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfbg-f.sdr (lfbg-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfbgs-f.sdr (lfbgs-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfbs-f.sdr (lfbs-f.sdr) ...
  Compiling main shader ->  lfe-v.sdr (lfe-v.sdr) / lfbgse-f.sdr (lfbgse-f.sdr) ...
  Compiling main shader ->  lfe-v.sdr (lfe-v.sdr) / lfbse-f.sdr (lfbse-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbgn-f.sdr (lfbgn-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbgsn-f.sdr (lfbgsn-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbn-f.sdr (lfbn-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbsn-f.sdr (lfbsn-f.sdr) ...
  Compiling main shader ->  lfne-v.sdr (lfne-v.sdr) / lfbgsne-f.sdr (lfbgsne-f.sdr) ...
  Compiling main shader ->  lfne-v.sdr (lfne-v.sdr) / lfbsne-f.sdr (lfbsne-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / null-f.sdr (null-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lg-f.sdr (lg-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lgs-f.sdr (lgs-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / ls-f.sdr (ls-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lgse-f.sdr (lgse-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lse-f.sdr (lse-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lgn-f.sdr (lgn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lgsn-f.sdr (lgsn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / ln-f.sdr (ln-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lsn-f.sdr (lsn-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lgsne-f.sdr (lgsne-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lsne-f.sdr (lsne-f.sdr) ...
Shaders Manager initialized.

  Max texture units: 8 (16)
  Max elements vertices: 2147483647
  Max elements indices: 16777215
  Max texture size: 8192x8192
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
  Using GLSL for model rendering.
  Shader Version: 1.40
... OpenGL init is complete!
Size of bitmap info = 760 KB
Size of bitmap extra info = 52 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
TBM  =>  Starting parse of 'flak-sct.tbm' ...
TBM  =>  Starting parse of 'velindc-sct.tbm' ...
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...
render_target: creating new 1280x1024 FBO
texture_pool: creating new 1280x1024 texture
Wokka!  Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-sdf.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-sdf.tbm' ...
ANI 2_radar1 with size 209x170 (33.6% wasted)
Windows reported 16 joysticks, we found 1
Current soundtrack set to -1 in event_music_reset_choices
TBM  =>  Starting parse of 'mv_music-mus.tbm' ...
TBM  =>  Starting parse of 'mv_advmuzzle-mfl.tbm' ...
Wokka!  Error opening file (armor.tbl)!
TABLES: Unable to parse 'armor.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-wxp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 64 frames at 30 fps.
BMPMAN: Found EFF (ExpMissileHit1.eff) with 44 frames at 30 fps.
BMPMAN: Found EFF (exp05.eff) with 47 frames at 20 fps.
BMPMAN: Found EFF (exp06.eff) with 48 frames at 20 fps.
BMPMAN: Found EFF (exp04.eff) with 60 frames at 20 fps.
BMPMAN: Found EFF (Maxim_Impact.eff) with 23 frames at 30 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
BMPMAN: Found EFF (Gmuzzle.eff) with 5 frames at 30 fps.
BMPMAN: Found EFF (PWmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Rmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Bmuzzle.eff) with 5 frames at 30 fps.
TBM  =>  Starting parse of 'mv_effects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_tech-wep.tbm' ...
TBM  =>  Starting parse of 'mv_models-wep.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_trails-shp.tbm' ...
TBM  =>  Starting parse of 'mv_dragon-shp.tbm' ...
TBM  =>  Starting parse of 'mv_density-shp.tbm' ...
TBM  =>  Starting parse of 'mv_models-shp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-shp.tbm' ...
TBM  =>  Starting parse of 'mv_tech-shp.tbm' ...
TBM  =>  Starting parse of 'mv_escort-hdg.tbm' ...
TBM  =>  Starting parse of 'mv_effects-str.tbm' ...
loading animated cursor "cursor"
ANI cursor with size 24x24 (25.0% wasted)
Ships.tbl is : VALID
Weapons.tbl is : VALID
cfile_init() took 312
Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
Someone passed an extension to bm_load for file '242suicide.pcx'
ANI 2_mainwalk with size 209x477 (6.8% wasted)
ANI 2_mainflyby with size 509x189 (26.2% wasted)
ANI 2_maincrane with size 192x116 (9.4% wasted)
ANI 2_mainexit with size 319x174 (32.0% wasted)
ANI 2_mainbarracks with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom with size 231x145 (43.4% wasted)
ANI 2_maintechroom with size 69x119 (7.0% wasted)
ANI 2_mainoptions with size 337x206 (19.5% wasted)
ANI 2_maincampaign with size 308x190 (25.8% wasted)
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Frame  0 too long!!: frametime = 2.966 (2.966)
Got event GS_EVENT_TECH_MENU (11) in state GS_STATE_MAIN_MENU (1)
Techroom successfully initialized, now changing tab...
Loading model 'fighter01.pof'
IBX: Found a good IBX/TSB to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x3503498e, IBX checksum: 0x4024384c -- "fighter01.pof"
Frame  0 too long!!: frametime = 0.733 (0.733)
Frame  0 too long!!: frametime = 0.422 (0.422)
Got event GS_EVENT_SIMULATOR_ROOM (58) in state GS_STATE_TECH_MENU (7)
Freeing all existing models...
Frame  0 too long!!: frametime = 0.968 (0.968)
Got event GS_EVENT_START_GAME (1) in state GS_STATE_SIMULATOR_ROOM (20)
=================== STARTING LEVEL LOAD ==================
ANI 2_Loading with size 824x43 (32.8% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Starting model page in...
Beginning level bitmap paging...
BMPMAN: Found EFF (particleexp01.eff) with 10 frames at 8 fps.
BMPMAN: Found EFF (particlesmoke01.eff) with 88 frames at 30 fps.
BMPMAN: Found EFF (particlesmoke02.eff) with 39 frames at 24 fps.
TBM  =>  Starting parse of 'mv_fireball-fbl.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-fbl.tbm' ...
BMPMAN: Found EFF (WarpMap01.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (WarpMap02.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (rock_exp.eff) with 55 frames at 30 fps.
Loading warp model
Loading model 'warp.pof'
IBX: Found a good IBX/TSB to read for 'warp.pof'.
IBX-DEBUG => POF checksum: 0xbf802ad0, IBX checksum: 0x3888b26c -- "warp.pof"
 256
BMPMAN: Found EFF (shieldhit01a.eff) with 23 frames at 21 fps.
BMPMAN: Found EFF (shieldhit02a.eff) with 45 frames at 30 fps.
BMPMAN: Found EFF (shieldhit03a.eff) with 22 frames at 30 fps.
SHOCKWAVE =>  Loading default shockwave model...
Loading model 'shockwave.pof'
IBX: Found a good IBX/TSB to read for 'shockwave.pof'.
IBX-DEBUG => POF checksum: 0xd8be5fd9, IBX checksum: 0x208fb934 -- "shockwave.pof"
BMPMAN: Found EFF (shockwave3d-glow.eff) with 159 frames at 24 fps.
Model shockwave.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
SHOCKWAVE =>  Default model load: SUCCEEDED!!
MISSION LOAD: 'postprocess'
Starting mission message count : 205
Ending mission message count : 205
Current soundtrack set to -1 in event_music_reset_choices
Current soundtrack set to -1 in event_music_set_soundtrack
Loading model 'fighter01.pof'
IBX: Found a good IBX/TSB to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x3503498e, IBX checksum: 0x4024384c -- "fighter01.pof"
Loading model 'capital01.pof'
IBX: Found a good IBX/TSB to read for 'capital01.pof'.
IBX-DEBUG => POF checksum: 0x9e305e56, IBX checksum: 0x5d3a90c3 -- "capital01.pof"
Potential problem found: Unrecognized subsystem type 'fighterbay', believed to be in ship capital01.pof
Allocating space for at least 25 new ship subsystems ...  a total of 200 is now available (25 in-use).
OpenGL: Created 512x512 FBO!
ANI 2_lock1 with size 56x53 (17.2% wasted)
ANI 2_lockspin with size 100x100 (21.9% wasted)
ANI 2_lead1 with size 26x26 (18.8% wasted)
ANI 2_energy2 with size 86x96 (25.0% wasted)
ANI toggle1 with size 57x20 (37.5% wasted)
ANI weapons1 with size 126x20 (37.5% wasted)
ANI weapons1_b with size 150x20 (37.5% wasted)
ANI 2_toparc1 with size 252x60 (6.3% wasted)
ANI 2_toparc2 with size 35x24 (25.0% wasted)
ANI 2_toparc3 with size 41x29 (9.4% wasted)
ANI 2_leftarc with size 103x252 (1.6% wasted)
ANI 2_rightarc1 with size 103x252 (1.6% wasted)
ANI 2_reticle1 with size 40x24 (25.0% wasted)
ANI targhit1 with size 31x21 (34.4% wasted)
ANI energy1 with size 12x41 (35.9% wasted)
ANI targetview1 with size 137x156 (39.1% wasted)
ANI targetview2 with size 4x96 (25.0% wasted)
ANI targetview3 with size 7x20 (37.5% wasted)
ANI damage1 with size 148x25 (21.9% wasted)
ANI support1 with size 108x24 (25.0% wasted)
ANI objective1 with size 149x21 (34.4% wasted)
ANI wingman1 with size 71x53 (17.2% wasted)
ANI wingman2 with size 35x53 (17.2% wasted)
ANI wingman3 with size 14x53 (17.2% wasted)
ANI netlag1 with size 29x30 (6.3% wasted)
ANI head1 with size 164x132 (48.4% wasted)
ANI time1 with size 47x23 (28.1% wasted)
=================== STARTING LEVEL DATA LOAD ==================
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Loading model 'support2t-01.pof'
IBX: Found a good IBX/TSB to read for 'support2t-01.pof'.
IBX-DEBUG => POF checksum: 0x6512c7b6, IBX checksum: 0xd4a3527c -- "support2t-01.pof"
Loading model 'support2v-01.pof'
IBX: Found a good IBX/TSB to read for 'support2v-01.pof'.
IBX-DEBUG => POF checksum: 0x0abd41b4, IBX checksum: 0x3aadce53 -- "support2v-01.pof"
About to page in ships!
ANI shield-f01 with size 112x93 (27.3% wasted)
BMPMAN: Found EFF (Subach_AniBitmap.eff) with 6 frames at 5 fps.
BMPMAN: Found EFF (PrometheusR_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (Prometheus_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (Kayser_AniBitmap.eff) with 4 frames at 5 fps.
ANI Kayser_Particle with size 80x80 (37.5% wasted)
ANI Lamprey_Particle with size 92x86 (32.8% wasted)
BMPMAN: Found EFF (particle_blue.eff) with 11 frames at 22 fps.
BMPMAN: Found EFF (AAAbeamAglow.eff) with 35 frames at 30 fps.
BMPMAN: Found EFF (AAAbeamAB.eff) with 15 frames at 15 fps.
BMPMAN: Found EFF (particle_green.eff) with 11 frames at 22 fps.
BMPMAN: Found EFF (GreenBeamGlow.eff) with 30 frames at 60 fps.
BMPMAN: Found EFF (GreenBeam2Glow.eff) with 30 frames at 60 fps.
Loading model 'rockeye.pof'
IBX: Found a good IBX/TSB to read for 'rockeye.pof'.
IBX-DEBUG => POF checksum: 0x25ff4c7f, IBX checksum: 0x541aef89 -- "rockeye.pof"
Loading model 'Tempest.pof'
IBX: Found a good IBX/TSB to read for 'Tempest.pof'.
IBX-DEBUG => POF checksum: 0xd02a81ee, IBX checksum: 0xf6422721 -- "Tempest.pof"
Loading model 'NewHornet.pof'
IBX: Found a good IBX/TSB to read for 'NewHornet.pof'.
IBX-DEBUG => POF checksum: 0x98d35b7d, IBX checksum: 0xe4ac391c -- "NewHornet.pof"
Loading model 'bombardier.pof'
IBX: Found a good IBX/TSB to read for 'bombardier.pof'.
IBX-DEBUG => POF checksum: 0x03e1b208, IBX checksum: 0x5def0a77 -- "bombardier.pof"
Loading model 'crossbow.pof'
IBX: Found a good IBX/TSB to read for 'crossbow.pof'.
IBX-DEBUG => POF checksum: 0x586f384b, IBX checksum: 0xb14be0e0 -- "crossbow.pof"
Loading model 'trebuchet.pof'
IBX: Found a good IBX/TSB to read for 'trebuchet.pof'.
IBX-DEBUG => POF checksum: 0x688e15f5, IBX checksum: 0xf6c9668d -- "trebuchet.pof"
Loading model 'taga.pof'
IBX: Found a good IBX/TSB to read for 'taga.pof'.
IBX-DEBUG => POF checksum: 0x45b2275e, IBX checksum: 0x3f9f6258 -- "taga.pof"
Loading model 'tagb.pof'
IBX: Found a good IBX/TSB to read for 'tagb.pof'.
IBX-DEBUG => POF checksum: 0x332af7cb, IBX checksum: 0x14d7a019 -- "tagb.pof"
Loading model 'piranha.pof'
IBX: Found a good IBX/TSB to read for 'piranha.pof'.
IBX-DEBUG => POF checksum: 0x0ba39db4, IBX checksum: 0x333b32e2 -- "piranha.pof"
Loading model 'stilettoII.pof'
IBX: Found a good IBX/TSB to read for 'stilettoII.pof'.
IBX-DEBUG => POF checksum: 0x6f4352cf, IBX checksum: 0xc0f267c6 -- "stilettoII.pof"
Loading model 'infyrno.pof'
IBX: Found a good IBX/TSB to read for 'infyrno.pof'.
IBX-DEBUG => POF checksum: 0xaef706c7, IBX checksum: 0x9b2555c2 -- "infyrno.pof"
Loading model 'belial.pof'
IBX: Found a good IBX/TSB to read for 'belial.pof'.
IBX-DEBUG => POF checksum: 0xb8ba8933, IBX checksum: 0x70b7a630 -- "belial.pof"
BMPMAN: Found EFF (shockwave01.eff) with 94 frames at 60 fps.
Loading model 'helios.pof'
IBX: Found a good IBX/TSB to read for 'helios.pof'.
IBX-DEBUG => POF checksum: 0xc75db1da, IBX checksum: 0xd9214c8a -- "helios.pof"
Loading model 'EMPulse2.pof'
IBX: Found a good IBX/TSB to read for 'EMPulse2.pof'.
IBX-DEBUG => POF checksum: 0x5269eb44, IBX checksum: 0xb7bd5b3a -- "EMPulse2.pof"
Loading model 'cmeasure01.pof'
IBX: Found a good IBX/TSB to read for 'cmeasure01.pof'.
IBX-DEBUG => POF checksum: 0x39d1d2bf, IBX checksum: 0x23737dab -- "cmeasure01.pof"
Loading model 'hornet.pof'
IBX: Found a good IBX/TSB to read for 'hornet.pof'.
IBX-DEBUG => POF checksum: 0x84f2378d, IBX checksum: 0x1203869f -- "hornet.pof"
Loading model 'debris01.pof'
IBX: Found a good IBX/TSB to read for 'debris01.pof'.
IBX-DEBUG => POF checksum: 0x974f214b, IBX checksum: 0x368eb490 -- "debris01.pof"
Loading model 'debris02.pof'
IBX: Found a good IBX/TSB to read for 'debris02.pof'.
IBX-DEBUG => POF checksum: 0x8e0eed50, IBX checksum: 0x7b2a747e -- "debris02.pof"
BMPMAN: Found EFF (Cmuzzle.eff) with 4 frames at 30 fps.
Paging in mission messages
Stopping model page in...
ANI 2_radar1.ani with size 209x170 (33.6% wasted)
ANI Lamprey_Impact.ani with size 80x80 (37.5% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
ANI 2_lock1.ani with size 56x53 (17.2% wasted)
ANI 2_lead1.ani with size 26x26 (18.8% wasted)
ANI 2_energy2.ani with size 86x96 (25.0% wasted)
ANI toggle1.ani with size 57x20 (37.5% wasted)
ANI weapons1.ani with size 126x20 (37.5% wasted)
ANI 2_toparc1.ani with size 252x60 (6.3% wasted)
ANI 2_toparc2.ani with size 35x24 (25.0% wasted)
ANI 2_toparc3.ani with size 41x29 (9.4% wasted)
ANI 2_leftarc.ani with size 103x252 (1.6% wasted)
ANI 2_rightarc1.ani with size 103x252 (1.6% wasted)
ANI 2_reticle1.ani with size 40x24 (25.0% wasted)
ANI targhit1.ani with size 31x21 (34.4% wasted)
ANI energy1.ani with size 12x41 (35.9% wasted)
ANI targetview1.ani with size 137x156 (39.1% wasted)
ANI targetview2.ani with size 4x96 (25.0% wasted)
ANI targetview3.ani with size 7x20 (37.5% wasted)
ANI damage1.ani with size 148x25 (21.9% wasted)
ANI support1.ani with size 108x24 (25.0% wasted)
ANI objective1.ani with size 149x21 (34.4% wasted)
ANI wingman1.ani with size 71x53 (17.2% wasted)
ANI wingman2.ani with size 35x53 (17.2% wasted)
ANI wingman3.ani with size 14x53 (17.2% wasted)
ANI netlag1.ani with size 29x30 (6.3% wasted)
ANI head1.ani with size 164x132 (48.4% wasted)
ANI time1.ani with size 47x23 (28.1% wasted)
ANI shield-f01.ani with size 112x93 (27.3% wasted)
ANI Kayser_Particle.ani with size 80x80 (37.5% wasted)
ANI Lamprey_Particle.ani with size 92x86 (32.8% wasted)
User bitmap 'TMP256x256+8'
User bitmap 'TMP256x256+8'
User bitmap 'TMP128x128+8'
Bmpman: 2689/4750 bitmap slots in use.
Ending level bitmap paging...
=================== ENDING LOAD ================
Real count = 463,  Estimated count = 425
================================================
Received post for event GS_EVENT_START_BRIEFING during state transtition. Find Allender if you are unsure if this is bad.
Got event GS_EVENT_START_BRIEFING (15) in state GS_STATE_START_GAME (52)
ANI 2_BriefMap with size 918x400 (21.9% wasted)
ANI iconwing01 with size 32x28 (12.5% wasted)
Loading model 'fighter06.pof'
IBX: Found a good IBX/TSB to read for 'fighter06.pof'.
IBX-DEBUG => POF checksum: 0xcc331676, IBX checksum: 0x3a14455c -- "fighter06.pof"
Loading model 'fighter2t-02.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-02.pof'.
IBX-DEBUG => POF checksum: 0xcdb3e195, IBX checksum: 0x3176ea32 -- "fighter2t-02.pof"
Loading model 'bonus2t-02.pof'
IBX: Found a good IBX/TSB to read for 'bonus2t-02.pof'.
IBX-DEBUG => POF checksum: 0xcc6ff113, IBX checksum: 0x99680dc1 -- "bonus2t-02.pof"
Loading model 'fighter2t-04.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-04.pof'.
IBX-DEBUG => POF checksum: 0xe611ce17, IBX checksum: 0x5dac9e8c -- "fighter2t-04.pof"
Loading model 'fighter13.pof'
IBX: Found a good IBX/TSB to read for 'fighter13.pof'.
IBX-DEBUG => POF checksum: 0x13fad0b4, IBX checksum: 0x793319e8 -- "fighter13.pof"
Loading model 'fighter2t-01.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-01.pof'.
IBX-DEBUG => POF checksum: 0x1934a7e5, IBX checksum: 0xd808d8e3 -- "fighter2t-01.pof"
Loading model 'fighter2t-03.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-03.pof'.
IBX-DEBUG => POF checksum: 0xce1df975, IBX checksum: 0x37c93eb1 -- "fighter2t-03.pof"
Loading model 'fighter2t-05.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-05.pof'.
IBX-DEBUG => POF checksum: 0xc8b2f868, IBX checksum: 0x3dfad880 -- "fighter2t-05.pof"
Loading model 'fighter2s-02.pof'
IBX: Found a good IBX/TSB to read for 'fighter2s-02.pof'.
IBX-DEBUG => POF checksum: 0x85ec93bc, IBX checksum: 0xb90433ea -- "fighter2s-02.pof"
BMPMAN: Found EFF (fighter2s-02-glow.eff) with 37 frames at 25 fps.
Loading model 'Bomber2T-03.pof'
IBX: Found a good IBX/TSB to read for 'Bomber2T-03.pof'.
IBX-DEBUG => POF checksum: 0xf62d5e93, IBX checksum: 0x16ce7cf1 -- "Bomber2T-03.pof"
Loading model 'Bonus2t-01.pof'
IBX: Found a good IBX/TSB to read for 'Bonus2t-01.pof'.
IBX-DEBUG => POF checksum: 0xf10b290a, IBX checksum: 0xb56fcc23 -- "Bonus2t-01.pof"
Loading model 'bomber04.pof'
IBX: Found a good IBX/TSB to read for 'bomber04.pof'.
IBX-DEBUG => POF checksum: 0x4fac00b7, IBX checksum: 0x7ae3cbd7 -- "bomber04.pof"
Loading model 'bomber05.pof'
IBX: Found a good IBX/TSB to read for 'bomber05.pof'.
IBX-DEBUG => POF checksum: 0x1e5f9164, IBX checksum: 0x5105ed07 -- "bomber05.pof"
Loading model 'bomber09.pof'
IBX: Found a good IBX/TSB to read for 'bomber09.pof'.
IBX-DEBUG => POF checksum: 0x053ba5a8, IBX checksum: 0xd1923c7f -- "bomber09.pof"
Loading model 'bomber2t-01.pof'
IBX: Found a good IBX/TSB to read for 'bomber2t-01.pof'.
IBX-DEBUG => POF checksum: 0xbbfa68bc, IBX checksum: 0x11e25089 -- "bomber2t-01.pof"
Loading model 'fighter2v-04.pof'
IBX: Found a good IBX/TSB to read for 'fighter2v-04.pof'.
IBX-DEBUG => POF checksum: 0x035e02f1, IBX checksum: 0x75e7bb7f -- "fighter2v-04.pof"
ANI iconSD4 with size 56x24 (25.0% wasted)
ANI iconScalpel with size 56x24 (25.0% wasted)
ANI iconflail with size 56x24 (25.0% wasted)
ANI iconPromR with size 56x24 (25.0% wasted)
ANI iconPromS with size 56x24 (25.0% wasted)
ANI iconNewton with size 56x24 (25.0% wasted)
ANI iconKayser with size 56x24 (25.0% wasted)
ANI iconCirce with size 56x24 (25.0% wasted)
ANI iconLich with size 56x24 (25.0% wasted)
Loading model 'tempest_tech.pof'
IBX: Found a good IBX/TSB to read for 'tempest_tech.pof'.
IBX-DEBUG => POF checksum: 0x457ab425, IBX checksum: 0x7183bf7e -- "tempest_tech.pof"
Loading model 'newhornet_tech.pof'
IBX: Found a good IBX/TSB to read for 'newhornet_tech.pof'.
IBX-DEBUG => POF checksum: 0xe97f1fa7, IBX checksum: 0x785e23c6 -- "newhornet_tech.pof"
Loading model 'crossbow_tech.pof'
IBX: Found a good IBX/TSB to read for 'crossbow_tech.pof'.
IBX-DEBUG => POF checksum: 0x3c2d3c20, IBX checksum: 0x3ba92db3 -- "crossbow_tech.pof"
Loading model 'trebuchet_tech.pof'
IBX: Found a good IBX/TSB to read for 'trebuchet_tech.pof'.
IBX-DEBUG => POF checksum: 0xdf1a4879, IBX checksum: 0xdffb98e3 -- "trebuchet_tech.pof"
Loading model 'piranha_tech.pof'
IBX: Found a good IBX/TSB to read for 'piranha_tech.pof'.
IBX-DEBUG => POF checksum: 0x4334dee5, IBX checksum: 0xfa7523a6 -- "piranha_tech.pof"
Loading model 'stilettoII_tech.pof'
IBX: Found a good IBX/TSB to read for 'stilettoII_tech.pof'.
IBX-DEBUG => POF checksum: 0xf50214c4, IBX checksum: 0x0bb6314c -- "stilettoII_tech.pof"
Loading model 'helios_tech.pof'
IBX: Found a good IBX/TSB to read for 'helios_tech.pof'.
IBX-DEBUG => POF checksum: 0x551ec88b, IBX checksum: 0x018a4544 -- "helios_tech.pof"
Loading model 'empulse2_tech.pof'
IBX: Found a good IBX/TSB to read for 'empulse2_tech.pof'.
IBX-DEBUG => POF checksum: 0x55e483b3, IBX checksum: 0xde0bbd46 -- "empulse2_tech.pof"
Frame  0 too long!!: frametime = 17.290 (17.290)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  35.303
render_target: creating new 256x256 FBO
texture_pool: creating new 256x256 texture
texture_pool: creating new 256x256 texture
  Compiling special shader ->  post-v.sdr / brightpass-f.sdr ...
Fragment shader failed to compile:
Fragment shader failed to compile with the following errors:
ERROR: 0:4: error(#133) Reserved word: static
ERROR: error(#273) 1 compilation errors.  No code generated

ERROR! Unable to create fragment shader!
Post-processing disabled.
Got event GS_EVENT_PLAYER_WARPOUT_START (41) in state GS_STATE_GAME_PLAY (2)
1795 frames executed in  30.007 seconds,  59.819 frames per second.
Got event GS_EVENT_PLAYER_WARPOUT_DONE_STAGE1 (44) in state GS_STATE_GAME_PLAY (2)
Hit target speed.  Starting warp effect and moving to stage 2!
Frame 1896 too long!!: frametime = 0.296 (0.296)
Got event GS_EVENT_PLAYER_WARPOUT_DONE_STAGE2 (45) in state GS_STATE_GAME_PLAY (2)
Hit warp effect.  Moving to stage 3!
Got event GS_EVENT_PLAYER_WARPOUT_DONE (46) in state GS_STATE_GAME_PLAY (2)
Player warped out.  Going to debriefing!
Got event GS_EVENT_DEBRIEF (33) in state GS_STATE_GAME_PLAY (2)
Unloading in mission messages
Storing stats now
Frame 2179 too long!!: frametime = 0.282 (0.282)
Got event GS_EVENT_END_GAME (4) in state GS_STATE_DEBRIEF (27)
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Frame 2179 too long!!: frametime = 2.980 (2.980)
Frame 2179 too long!!: frametime = 0.372 (0.372)
Frame 2179 too long!!: frametime = 0.270 (0.270)
Frame 2179 too long!!: frametime = 0.287 (0.287)
Got event GS_EVENT_QUIT_GAME (5) in state GS_STATE_MAIN_MENU (1)
Freeing all existing models...
... Log closed, Sat Oct 17 02:09:29 2009
Title: Re: Post-processing
Post by: Kiloku on October 17, 2009, 12:37:02 am
I didn't want to Double Post, but the Forum forced me too. It wouldn't accept my attachments and wouldn't allow me to post more than 50k characters in a single post, so here's the second log:
Code: (Second Log) [Select]
==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.11
Passed cmdline options:
  -spec_exp 11
  -ogl_spec 50
  -spec_static .8
  -spec_point .6
  -spec_tube .4
  -ambient_factor 5
  -env
  -mipmap
  -missile_lighting
  -glow
  -nomotiondebris
  -spec
  -no_emissive_light
  -normal
  -3dshockwave
  -post_process
  -bloom_intensity 75
  -dualscanlines
  -orbradar
  -rearm_timer
  -targetinfo
  -3dwarp
  -ship_choice_3d
  -weapon_choice_3d
  -warp_flash
  -snd_preload
  -mod postproc,mediavps
Building file index...
Found root pack 'C:\Games\FreeSpace2\mediavps\3610_Patch.vp' with a checksum of 0x07e72699
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' with a checksum of 0xd06bf123
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' with a checksum of 0xc9e372bb
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' with a checksum of 0x0dc7bb8f
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' with a checksum of 0xa3141c30
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' with a checksum of 0x4dbbbe96
Found root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'C:\Games\FreeSpace2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'C:\Games\FreeSpace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'C:\Games\FreeSpace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'C:\Games\FreeSpace2\postproc\' ... 14 files
Searching root 'C:\Games\FreeSpace2\mediavps\' ... 6 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\3610_Patch.vp' ... 180 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' ... 2868 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' ... 1810 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' ... 146 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' ... 1046 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' ... 32 files
Searching root 'C:\Games\FreeSpace2\' ... 39 files
Searching root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' ... 110 files
Searching root pack 'C:\Games\FreeSpace2\root_fs2.vp' ... 157 files
Searching root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'C:\Games\FreeSpace2\stu_fs2.vp' ... 2355 files
Searching root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' ... 32 files
Searching root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' ... 15 files
Searching root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\warble_fs2.vp' ... 52 files
Found 19 roots and 13246 files.
AutoLang: Language auto-detection successful...
Setting language to English
TBM  =>  Starting parse of 'mv_strings-lcl.tbm' ...
Initializing OpenAL...
  Using 'Generic Software' as OpenAL sound device...
  OpenAL Vendor     : Creative Labs Inc.
  OpenAL Renderer   : Software
  OpenAL Version    : 1.1

... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 1280x1024 with 32-bit color...
  Initializing WGL...
  Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  Actual WGL Video values    = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  OpenGL Vendor     : ATI Technologies Inc.
  OpenGL Renderer   : ATI Radeon HD 3600 Series
  OpenGL Version    : 2.1.8918

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Using extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Using extension "GL_SGIS_generate_mipmap".
  Using extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Using extension "GL_ARB_point_sprite".
  Using extension "GL_ARB_shading_language_100".
  Using extension "GL_ARB_shader_objects".
  Using extension "GL_ARB_vertex_shader".
  Using extension "GL_ARB_fragment_shader".
  Using extension "GL_ARB_shader_texture_lod".
  Found special extension function "wglSwapIntervalEXT".


Initializing Shaders Manager...
Loading and compiling main shaders...
  Compiling main shader ->  null-v.sdr (null-v.sdr) / null-f.sdr (null-f.sdr) ...
  Compiling main shader ->  b-v.sdr (b-v.sdr) / b-f.sdr (b-f.sdr) ...
  Compiling main shader ->  b-v.sdr (b-v.sdr) / bg-f.sdr (bg-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lb-f.sdr (lb-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lbg-f.sdr (lbg-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lbgs-f.sdr (lbgs-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lbs-f.sdr (lbs-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lbgse-f.sdr (lbgse-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lbse-f.sdr (lbse-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbgn-f.sdr (lbgn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbgsn-f.sdr (lbgsn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbn-f.sdr (lbn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lbsn-f.sdr (lbsn-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lbgsne-f.sdr (lbgsne-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lbsne-f.sdr (lbsne-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfb-f.sdr (lfb-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfbg-f.sdr (lfbg-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfbgs-f.sdr (lfbgs-f.sdr) ...
  Compiling main shader ->  lf-v.sdr (lf-v.sdr) / lfbs-f.sdr (lfbs-f.sdr) ...
  Compiling main shader ->  lfe-v.sdr (lfe-v.sdr) / lfbgse-f.sdr (lfbgse-f.sdr) ...
  Compiling main shader ->  lfe-v.sdr (lfe-v.sdr) / lfbse-f.sdr (lfbse-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbgn-f.sdr (lfbgn-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbgsn-f.sdr (lfbgsn-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbn-f.sdr (lfbn-f.sdr) ...
  Compiling main shader ->  lfn-v.sdr (lfn-v.sdr) / lfbsn-f.sdr (lfbsn-f.sdr) ...
  Compiling main shader ->  lfne-v.sdr (lfne-v.sdr) / lfbgsne-f.sdr (lfbgsne-f.sdr) ...
  Compiling main shader ->  lfne-v.sdr (lfne-v.sdr) / lfbsne-f.sdr (lfbsne-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / null-f.sdr (null-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lg-f.sdr (lg-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / lgs-f.sdr (lgs-f.sdr) ...
  Compiling main shader ->  l-v.sdr (l-v.sdr) / ls-f.sdr (ls-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lgse-f.sdr (lgse-f.sdr) ...
  Compiling main shader ->  le-v.sdr (le-v.sdr) / lse-f.sdr (lse-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lgn-f.sdr (lgn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lgsn-f.sdr (lgsn-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / ln-f.sdr (ln-f.sdr) ...
  Compiling main shader ->  ln-v.sdr (ln-v.sdr) / lsn-f.sdr (lsn-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lgsne-f.sdr (lgsne-f.sdr) ...
  Compiling main shader ->  lne-v.sdr (lne-v.sdr) / lsne-f.sdr (lsne-f.sdr) ...
Shaders Manager initialized.

  Max texture units: 8 (16)
  Max elements vertices: 2147483647
  Max elements indices: 16777215
  Max texture size: 8192x8192
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
  Using GLSL for model rendering.
  Shader Version: 1.40
... OpenGL init is complete!
Size of bitmap info = 760 KB
Size of bitmap extra info = 52 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
TBM  =>  Starting parse of 'flak-sct.tbm' ...
TBM  =>  Starting parse of 'velindc-sct.tbm' ...
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...
render_target: creating new 1280x1024 FBO
texture_pool: creating new 1280x1024 texture
Wokka!  Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-sdf.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-sdf.tbm' ...
ANI 2_radar1 with size 209x170 (33.6% wasted)
Windows reported 16 joysticks, we found 1
Current soundtrack set to -1 in event_music_reset_choices
TBM  =>  Starting parse of 'mv_music-mus.tbm' ...
TBM  =>  Starting parse of 'mv_advmuzzle-mfl.tbm' ...
Wokka!  Error opening file (armor.tbl)!
TABLES: Unable to parse 'armor.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-wxp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 64 frames at 30 fps.
BMPMAN: Found EFF (ExpMissileHit1.eff) with 44 frames at 30 fps.
BMPMAN: Found EFF (exp05.eff) with 47 frames at 20 fps.
BMPMAN: Found EFF (exp06.eff) with 48 frames at 20 fps.
BMPMAN: Found EFF (exp04.eff) with 60 frames at 20 fps.
BMPMAN: Found EFF (Maxim_Impact.eff) with 23 frames at 30 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
BMPMAN: Found EFF (Gmuzzle.eff) with 5 frames at 30 fps.
BMPMAN: Found EFF (PWmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Rmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Bmuzzle.eff) with 5 frames at 30 fps.
TBM  =>  Starting parse of 'mv_effects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_tech-wep.tbm' ...
TBM  =>  Starting parse of 'mv_models-wep.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_trails-shp.tbm' ...
TBM  =>  Starting parse of 'mv_dragon-shp.tbm' ...
TBM  =>  Starting parse of 'mv_density-shp.tbm' ...
TBM  =>  Starting parse of 'mv_models-shp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-shp.tbm' ...
TBM  =>  Starting parse of 'mv_tech-shp.tbm' ...
TBM  =>  Starting parse of 'mv_escort-hdg.tbm' ...
TBM  =>  Starting parse of 'mv_effects-str.tbm' ...
loading animated cursor "cursor"
ANI cursor with size 24x24 (25.0% wasted)
Ships.tbl is : VALID
Weapons.tbl is : VALID
cfile_init() took 318
Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
Someone passed an extension to bm_load for file '242suicide.pcx'
ANI 2_mainwalk with size 209x477 (6.8% wasted)
ANI 2_mainflyby with size 509x189 (26.2% wasted)
ANI 2_maincrane with size 192x116 (9.4% wasted)
ANI 2_mainexit with size 319x174 (32.0% wasted)
ANI 2_mainbarracks with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom with size 231x145 (43.4% wasted)
ANI 2_maintechroom with size 69x119 (7.0% wasted)
ANI 2_mainoptions with size 337x206 (19.5% wasted)
ANI 2_maincampaign with size 308x190 (25.8% wasted)
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Frame  0 too long!!: frametime = 2.995 (2.995)
Got event GS_EVENT_TECH_MENU (11) in state GS_STATE_MAIN_MENU (1)
Techroom successfully initialized, now changing tab...
Loading model 'fighter01.pof'
IBX: Found a good IBX/TSB to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x3503498e, IBX checksum: 0x4024384c -- "fighter01.pof"
Frame  0 too long!!: frametime = 0.737 (0.737)
Frame  0 too long!!: frametime = 0.423 (0.423)
Got event GS_EVENT_SIMULATOR_ROOM (58) in state GS_STATE_TECH_MENU (7)
Freeing all existing models...
Frame  0 too long!!: frametime = 0.976 (0.976)
Got event GS_EVENT_START_GAME (1) in state GS_STATE_SIMULATOR_ROOM (20)
=================== STARTING LEVEL LOAD ==================
ANI 2_Loading with size 824x43 (32.8% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Starting model page in...
Beginning level bitmap paging...
BMPMAN: Found EFF (particleexp01.eff) with 10 frames at 8 fps.
BMPMAN: Found EFF (particlesmoke01.eff) with 88 frames at 30 fps.
BMPMAN: Found EFF (particlesmoke02.eff) with 39 frames at 24 fps.
TBM  =>  Starting parse of 'mv_fireball-fbl.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-fbl.tbm' ...
BMPMAN: Found EFF (WarpMap01.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (WarpMap02.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (rock_exp.eff) with 55 frames at 30 fps.
Loading warp model
Loading model 'warp.pof'
IBX: Found a good IBX/TSB to read for 'warp.pof'.
IBX-DEBUG => POF checksum: 0xbf802ad0, IBX checksum: 0x3888b26c -- "warp.pof"
 256
BMPMAN: Found EFF (shieldhit01a.eff) with 23 frames at 21 fps.
BMPMAN: Found EFF (shieldhit02a.eff) with 45 frames at 30 fps.
BMPMAN: Found EFF (shieldhit03a.eff) with 22 frames at 30 fps.
SHOCKWAVE =>  Loading default shockwave model...
Loading model 'shockwave.pof'
IBX: Found a good IBX/TSB to read for 'shockwave.pof'.
IBX-DEBUG => POF checksum: 0xd8be5fd9, IBX checksum: 0x208fb934 -- "shockwave.pof"
BMPMAN: Found EFF (shockwave3d-glow.eff) with 159 frames at 24 fps.
Model shockwave.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
SHOCKWAVE =>  Default model load: SUCCEEDED!!
MISSION LOAD: 'SM1-08.fs2'
Hmmm... Extension passed to mission_load...
Using alternate ship type name: NTC Leviathan
Using alternate ship type name: NTF Loki
Using alternate ship type name: NTF Loki
Using alternate ship type name: NTF Loki
Using alternate ship type name: NTCv Deimos
Using alternate ship type name: NTC Leviathan
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTF Hercules
Using alternate ship type name: NTF Hercules
Using alternate ship type name: NTF Hercules
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Using alternate ship type name: NTB Zeus
Starting mission message count : 205
Ending mission message count : 235
Current soundtrack set to -1 in event_music_reset_choices
Loading model 'fighter2t-03.pof'
IBX: Found a good IBX/TSB to read for 'fighter2t-03.pof'.
IBX-DEBUG => POF checksum: 0xce1df975, IBX checksum: 0x37c93eb1 -- "fighter2t-03.pof"
Loading model 'cruiser01x.pof'
IBX: Found a good IBX/TSB to read for 'cruiser01x.pof'.
IBX-DEBUG => POF checksum: 0x8e7a6f04, IBX checksum: 0x7d5ab466 -- "cruiser01x.pof"
Allocating space for at least 15 new ship subsystems ...  a total of 200 is now available (15 in-use).
Loading model 'TerranSuper.pof'
IBX: Found a good IBX/TSB to read for 'TerranSuper.pof'.
IBX-DEBUG => POF checksum: 0x7a19c79f, IBX checksum: 0x7741f960 -- "TerranSuper.pof"
Potential problem found: Unrecognized subsystem type 'fighterbay', believed to be in ship TerranSuper.pof
Loading model 'freighter2t-01.pof'
IBX: Found a good IBX/TSB to read for 'freighter2t-01.pof'.
IBX-DEBUG => POF checksum: 0x557cede4, IBX checksum: 0xf78a4f57 -- "freighter2t-01.pof"
Loading model 'fighter13.pof'
IBX: Found a good IBX/TSB to read for 'fighter13.pof'.
IBX-DEBUG => POF checksum: 0x13fad0b4, IBX checksum: 0x793319e8 -- "fighter13.pof"
Loading model 'fighter2v-01.pof'
IBX: Found a good IBX/TSB to read for 'fighter2v-01.pof'.
IBX-DEBUG => POF checksum: 0x19bf06ff, IBX checksum: 0xc3888eaf -- "fighter2v-01.pof"
Loading model 'corvette2t-01.pof'
IBX: Found a good IBX/TSB to read for 'corvette2t-01.pof'.
IBX-DEBUG => POF checksum: 0xef71a6a2, IBX checksum: 0x58d8919e -- "corvette2t-01.pof"
Loading model 'bomber09.pof'
IBX: Found a good IBX/TSB to read for 'bomber09.pof'.
IBX-DEBUG => POF checksum: 0x053ba5a8, IBX checksum: 0xd1923c7f -- "bomber09.pof"
Loading model 'fighter06.pof'
IBX: Found a good IBX/TSB to read for 'fighter06.pof'.
IBX-DEBUG => POF checksum: 0xcc331676, IBX checksum: 0x3a14455c -- "fighter06.pof"
Loading model 'escapepod01.pof'
IBX: Found a good IBX/TSB to read for 'escapepod01.pof'.
IBX-DEBUG => POF checksum: 0x4a31f88c, IBX checksum: 0xfaf426da -- "escapepod01.pof"
Loading model 'transport01.pof'
IBX: Found a good IBX/TSB to read for 'transport01.pof'.
IBX-DEBUG => POF checksum: 0xe911fa84, IBX checksum: 0x469fdbf2 -- "transport01.pof"
Loading model 'install01.pof'
IBX: Found a good IBX/TSB to read for 'install01.pof'.
IBX-DEBUG => POF checksum: 0xd7e97895, IBX checksum: 0x16a32260 -- "install01.pof"
Potential problem found: Unrecognized subsystem type 'fighterbay', believed to be in ship install01.pof
Unknown special object type $path06 while reading model install01.pof
Unknown special object type $path07 while reading model install01.pof
OpenGL: Created 512x512 FBO!
ANI 2_lock1 with size 56x53 (17.2% wasted)
ANI 2_lockspin with size 100x100 (21.9% wasted)
ANI 2_lead1 with size 26x26 (18.8% wasted)
ANI 2_energy2 with size 86x96 (25.0% wasted)
ANI toggle1 with size 57x20 (37.5% wasted)
ANI weapons1 with size 126x20 (37.5% wasted)
ANI weapons1_b with size 150x20 (37.5% wasted)
ANI 2_toparc1 with size 252x60 (6.3% wasted)
ANI 2_toparc2 with size 35x24 (25.0% wasted)
ANI 2_toparc3 with size 41x29 (9.4% wasted)
ANI 2_leftarc with size 103x252 (1.6% wasted)
ANI 2_rightarc1 with size 103x252 (1.6% wasted)
ANI 2_reticle1 with size 40x24 (25.0% wasted)
ANI targhit1 with size 31x21 (34.4% wasted)
ANI energy1 with size 12x41 (35.9% wasted)
ANI targetview1 with size 137x156 (39.1% wasted)
ANI targetview2 with size 4x96 (25.0% wasted)
ANI targetview3 with size 7x20 (37.5% wasted)
ANI damage1 with size 148x25 (21.9% wasted)
ANI support1 with size 108x24 (25.0% wasted)
ANI objective1 with size 149x21 (34.4% wasted)
ANI wingman1 with size 71x53 (17.2% wasted)
ANI wingman2 with size 35x53 (17.2% wasted)
ANI wingman3 with size 14x53 (17.2% wasted)
ANI netlag1 with size 29x30 (6.3% wasted)
ANI head1 with size 164x132 (48.4% wasted)
ANI time1 with size 47x23 (28.1% wasted)
Loading model 'Starfield.pof'
IBX: Found a good IBX/TSB to read for 'Starfield.pof'.
IBX-DEBUG => POF checksum: 0x07d8680d, IBX checksum: 0x3d22d0e6 -- "Starfield.pof"
Model Starfield.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
=================== STARTING LEVEL DATA LOAD ==================
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Loading model 'support2t-01.pof'
IBX: Found a good IBX/TSB to read for 'support2t-01.pof'.
IBX-DEBUG => POF checksum: 0x6512c7b6, IBX checksum: 0xd4a3527c -- "support2t-01.pof"
Loading model 'support2v-01.pof'
IBX: Found a good IBX/TSB to read for 'support2v-01.pof'.
IBX-DEBUG => POF checksum: 0x0abd41b4, IBX checksum: 0x3aadce53 -- "support2v-01.pof"
Allocating space for at least 222 new ship subsystems ...  a total of 400 is now available (107 in-use).
About to page in ships!
ANI shield-f06 with size 112x93 (27.3% wasted)
ANI shield-f13 with size 112x93 (27.3% wasted)
ANI shieldft-03 with size 112x93 (27.3% wasted)
ANI shield-b09 with size 112x93 (27.3% wasted)
ANI shieldfv-01 with size 112x93 (27.3% wasted)
BMPMAN: Found EFF (Subach_AniBitmap.eff) with 6 frames at 5 fps.
BMPMAN: Found EFF (PrometheusR_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (particle_blue.eff) with 11 frames at 22 fps.
BMPMAN: Found EFF (AAAbeamAglow.eff) with 35 frames at 30 fps.
BMPMAN: Found EFF (AAAbeamAB.eff) with 15 frames at 15 fps.
BMPMAN: Found EFF (particle_green.eff) with 11 frames at 22 fps.
BMPMAN: Found EFF (GreenBeamGlow.eff) with 30 frames at 60 fps.
BMPMAN: Found EFF (GreenBeam2Glow.eff) with 30 frames at 60 fps.
BMPMAN: Found EFF (TbeamAglow.eff) with 30 frames at 30 fps.
Loading model 'Blip.pof'
IBX: Found a good IBX/TSB to read for 'Blip.pof'.
IBX-DEBUG => POF checksum: 0x83ceab91, IBX checksum: 0x710a00d2 -- "Blip.pof"
Loading model 'rockeye.pof'
IBX: Found a good IBX/TSB to read for 'rockeye.pof'.
IBX-DEBUG => POF checksum: 0x25ff4c7f, IBX checksum: 0x541aef89 -- "rockeye.pof"
Loading model 'Tempest.pof'
IBX: Found a good IBX/TSB to read for 'Tempest.pof'.
IBX-DEBUG => POF checksum: 0xd02a81ee, IBX checksum: 0xf6422721 -- "Tempest.pof"
Loading model 'NewHornet.pof'
IBX: Found a good IBX/TSB to read for 'NewHornet.pof'.
IBX-DEBUG => POF checksum: 0x98d35b7d, IBX checksum: 0xe4ac391c -- "NewHornet.pof"
Loading model 'crossbow.pof'
IBX: Found a good IBX/TSB to read for 'crossbow.pof'.
IBX-DEBUG => POF checksum: 0x586f384b, IBX checksum: 0xb14be0e0 -- "crossbow.pof"
Loading model 'trebuchet.pof'
IBX: Found a good IBX/TSB to read for 'trebuchet.pof'.
IBX-DEBUG => POF checksum: 0x688e15f5, IBX checksum: 0xf6c9668d -- "trebuchet.pof"
Loading model 'piranha.pof'
IBX: Found a good IBX/TSB to read for 'piranha.pof'.
IBX-DEBUG => POF checksum: 0x0ba39db4, IBX checksum: 0x333b32e2 -- "piranha.pof"
Loading model 'stilettoII.pof'
IBX: Found a good IBX/TSB to read for 'stilettoII.pof'.
IBX-DEBUG => POF checksum: 0x6f4352cf, IBX checksum: 0xc0f267c6 -- "stilettoII.pof"
Loading model 'belial.pof'
IBX: Found a good IBX/TSB to read for 'belial.pof'.
IBX-DEBUG => POF checksum: 0xb8ba8933, IBX checksum: 0x70b7a630 -- "belial.pof"
BMPMAN: Found EFF (shockwave01.eff) with 94 frames at 60 fps.
Loading model 'helios.pof'
IBX: Found a good IBX/TSB to read for 'helios.pof'.
IBX-DEBUG => POF checksum: 0xc75db1da, IBX checksum: 0xd9214c8a -- "helios.pof"
Loading model 'cmeasure01.pof'
IBX: Found a good IBX/TSB to read for 'cmeasure01.pof'.
IBX-DEBUG => POF checksum: 0x39d1d2bf, IBX checksum: 0x23737dab -- "cmeasure01.pof"
Loading model 'MX-50.pof'
IBX: Found a good IBX/TSB to read for 'MX-50.pof'.
IBX-DEBUG => POF checksum: 0x80ed0ef6, IBX checksum: 0x79a2a4ec -- "MX-50.pof"
Loading model 'harbinger.pof'
IBX: Found a good IBX/TSB to read for 'harbinger.pof'.
IBX-DEBUG => POF checksum: 0x00344f78, IBX checksum: 0x044f341b -- "harbinger.pof"
Loading model 'Interceptor.pof'
IBX: Found a good IBX/TSB to read for 'Interceptor.pof'.
IBX-DEBUG => POF checksum: 0x3d4ed74c, IBX checksum: 0x6283fd66 -- "Interceptor.pof"
Model Interceptor.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
Loading model 'hornet.pof'
IBX: Found a good IBX/TSB to read for 'hornet.pof'.
IBX-DEBUG => POF checksum: 0x84f2378d, IBX checksum: 0x1203869f -- "hornet.pof"
Loading model 'debris01.pof'
IBX: Found a good IBX/TSB to read for 'debris01.pof'.
IBX-DEBUG => POF checksum: 0x974f214b, IBX checksum: 0x368eb490 -- "debris01.pof"
Loading model 'debris02.pof'
IBX: Found a good IBX/TSB to read for 'debris02.pof'.
IBX-DEBUG => POF checksum: 0x8e0eed50, IBX checksum: 0x7b2a747e -- "debris02.pof"
BMPMAN: Found EFF (Cmuzzle.eff) with 4 frames at 30 fps.
Paging in mission messages
Stopping model page in...
ANI 2_radar1.ani with size 209x170 (33.6% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
ANI 2_lock1.ani with size 56x53 (17.2% wasted)
ANI 2_lead1.ani with size 26x26 (18.8% wasted)
ANI 2_energy2.ani with size 86x96 (25.0% wasted)
ANI toggle1.ani with size 57x20 (37.5% wasted)
ANI weapons1.ani with size 126x20 (37.5% wasted)
ANI 2_toparc1.ani with size 252x60 (6.3% wasted)
ANI 2_toparc2.ani with size 35x24 (25.0% wasted)
ANI 2_toparc3.ani with size 41x29 (9.4% wasted)
ANI 2_leftarc.ani with size 103x252 (1.6% wasted)
ANI 2_rightarc1.ani with size 103x252 (1.6% wasted)
ANI 2_reticle1.ani with size 40x24 (25.0% wasted)
ANI targhit1.ani with size 31x21 (34.4% wasted)
ANI energy1.ani with size 12x41 (35.9% wasted)
ANI targetview1.ani with size 137x156 (39.1% wasted)
ANI targetview2.ani with size 4x96 (25.0% wasted)
ANI targetview3.ani with size 7x20 (37.5% wasted)
ANI damage1.ani with size 148x25 (21.9% wasted)
ANI support1.ani with size 108x24 (25.0% wasted)
ANI objective1.ani with size 149x21 (34.4% wasted)
ANI wingman1.ani with size 71x53 (17.2% wasted)
ANI wingman2.ani with size 35x53 (17.2% wasted)
ANI wingman3.ani with size 14x53 (17.2% wasted)
ANI netlag1.ani with size 29x30 (6.3% wasted)
ANI head1.ani with size 164x132 (48.4% wasted)
ANI time1.ani with size 47x23 (28.1% wasted)
ANI shield-f06.ani with size 112x93 (27.3% wasted)
ANI shield-f13.ani with size 112x93 (27.3% wasted)
ANI shieldft-03.ani with size 112x93 (27.3% wasted)
ANI shield-b09.ani with size 112x93 (27.3% wasted)
ANI shieldfv-01.ani with size 112x93 (27.3% wasted)
User bitmap 'TMP256x256+8'
User bitmap 'TMP256x256+8'
User bitmap 'TMP128x128+8'
Bmpman: 2804/4750 bitmap slots in use.
Ending level bitmap paging...
=================== ENDING LOAD ================
Real count = 602,  Estimated count = 425
================================================
Received post for event GS_EVENT_CMD_BRIEF during state transtition. Find Allender if you are unsure if this is bad.
Got event GS_EVENT_CMD_BRIEF (55) in state GS_STATE_START_GAME (52)
ANI cb_sm1-08_a with size 440x200 (21.9% wasted)
Frame  0 too long!!: frametime = 17.714 (17.714)
ANI cb_sm1-08_a.ani with size 440x200 (21.9% wasted)
Frame  0 too long!!: frametime = 2.255 (2.255)
Got event GS_EVENT_START_BRIEFING (15) in state GS_STATE_CMD_BRIEF (43)
ANI 2_BriefMap with size 918x400 (21.9% wasted)
ANI iconwing01 with size 32x28 (12.5% wasted)
ANI iconSD4 with size 56x24 (25.0% wasted)
ANI iconScalpel with size 56x24 (25.0% wasted)
ANI iconPromR with size 56x24 (25.0% wasted)
Loading model 'tempest_tech.pof'
IBX: Found a good IBX/TSB to read for 'tempest_tech.pof'.
IBX-DEBUG => POF checksum: 0x457ab425, IBX checksum: 0x7183bf7e -- "tempest_tech.pof"
Loading model 'newhornet_tech.pof'
IBX: Found a good IBX/TSB to read for 'newhornet_tech.pof'.
IBX-DEBUG => POF checksum: 0xe97f1fa7, IBX checksum: 0x785e23c6 -- "newhornet_tech.pof"
Loading model 'crossbow_tech.pof'
IBX: Found a good IBX/TSB to read for 'crossbow_tech.pof'.
IBX-DEBUG => POF checksum: 0x3c2d3c20, IBX checksum: 0x3ba92db3 -- "crossbow_tech.pof"
Loading model 'stilettoII_tech.pof'
IBX: Found a good IBX/TSB to read for 'stilettoII_tech.pof'.
IBX-DEBUG => POF checksum: 0xf50214c4, IBX checksum: 0x0bb6314c -- "stilettoII_tech.pof"
ANI iconInstall with size 130x91 (28.9% wasted)
ANI FadeiconInstall with size 130x91 (28.9% wasted)
ANI FadeiconInstall.ani with size 130x91 (28.9% wasted)
ANI iconT-vette with size 80x31 (3.1% wasted)
ANI fadeiconT-vette with size 80x31 (3.1% wasted)
ANI fadeiconT-vette.ani with size 80x31 (3.1% wasted)
ANI icont-cruiser with size 70x18 (43.8% wasted)
ANI FadeiconT-cruiser with size 70x18 (43.8% wasted)
ANI FadeiconT-cruiser.ani with size 70x18 (43.8% wasted)
ANI icont-freight with size 68x28 (12.5% wasted)
ANI Fadeicont-Freighter with size 68x28 (12.5% wasted)
ANI Fadeicont-Freighter.ani with size 68x28 (12.5% wasted)
ANI iconT-transport with size 40x23 (28.1% wasted)
ANI fadeIconT-transport with size 40x23 (28.1% wasted)
ANI fadeIconT-transport.ani with size 40x23 (28.1% wasted)
ANI icont-bomberW with size 45x73 (43.0% wasted)
ANI Fadeicont-BomberW with size 45x73 (43.0% wasted)
ANI Fadeicont-BomberW.ani with size 45x73 (43.0% wasted)
Frame  0 too long!!: frametime = 0.587 (0.587)
ANI iconInstall.ani with size 130x91 (28.9% wasted)
ANI iconT-vette.ani with size 80x31 (3.1% wasted)
ANI icont-cruiser.ani with size 70x18 (43.8% wasted)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  40.404
render_target: creating new 256x256 FBO
texture_pool: creating new 256x256 texture
texture_pool: creating new 256x256 texture
  Compiling special shader ->  post-v.sdr / brightpass-f.sdr ...
Fragment shader failed to compile:
Fragment shader failed to compile with the following errors:
ERROR: 0:4: error(#133) Reserved word: static
ERROR: error(#273) 1 compilation errors.  No code generated

ERROR! Unable to create fragment shader!
Post-processing disabled.
Frame  1 too long!!: frametime = 0.256 (0.256)
Int3(): From c:\users\hery\desktop\postprocessing\code\hud\hudtarget.cpp at line 1815
Title: Re: Post-processing
Post by: Hery on October 17, 2009, 05:09:19 am
@Tolwyn: Could you describe again what "post-processing is not working" means on your computer? (black screen with hud only, everything works except post-processing, etc) According to debug log everything is ok, so I'm afraid problem is in a part of the code I didn't expected to fail and I need more information to fix this.

@Nemesis6: the first two screens shows bugs that are not mine fault but someone else. Problem presented on the other screens is going to be solved soon ;D

@Kiloku: Please, use the latest debug build to generate debug logs.
Title: Re: Post-processing
Post by: Kiloku on October 17, 2009, 01:43:47 pm
I used the 3.6.11d.exe, that comes on your post-processing build... Which one should I use?
Title: Re: Post-processing
Post by: Hery on October 17, 2009, 01:53:02 pm
This one: http://www.hard-light.net/forums/index.php?topic=64986.160
It's my fault, I forgot to update the first post.
Title: Re: Post-processing
Post by: Tolwyn on October 17, 2009, 02:14:14 pm
I see no real difference. Some effects like bloom should be enabled by default, shouldn't they? I'll try your demo mission tomorrow.
Title: Re: Post-processing
Post by: Kiloku on October 17, 2009, 02:35:11 pm
I was testing again, and when the Hawkwood turned me into a lot of melted metal on space with their main beam cannons, the game crashed and gave me this:
Assert: team != -1
File: object.cpp
Line: 1791

<no module>! KiFastSystemCallRet
<no module>! WaitForSingleObject + 18 bytes
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! RegisterWaitForInputIdle + 73 bytes

Also, the bloom worked with this newest build, but seemed a lot less noticeable than on most screenshots around here, I had to change bloom_intensity to 150

Btw, I can't post the log, again. Not even as code, because it will take more than 50k characters
Title: Re: Post-processing
Post by: chief1983 on October 17, 2009, 03:24:44 pm
Then try Pastebin.  http://fsscp.pastebin.com/
Title: Re: Post-processing
Post by: Kiloku on October 17, 2009, 03:28:32 pm
Pastebin it is, then :P
http://fsscp.pastebin.com/m1a271606
Title: Re: Post-processing
Post by: FUBAR-BDHR on October 17, 2009, 03:53:01 pm
I've seen that same error quite a few times but only in multi. 
Title: Re: Post-processing
Post by: e1 on November 02, 2009, 02:07:25 am
@The E

I agree, however... till somebody picks up the huge task of writing a new rendering engine, the graphical development of FS2 will stagnate.

For projects like SoL and Diaspora, a new rendering engine will probably be ready too late to be used in the release. (At least in the initial one.)


At least we already got normal maps for all our models, so in the end, the content can be used regardless of the rendering engine.
(forgive the old quote, but it was on the first page..)

Well, the folks at opensource Vegastrike (space sim along the lines of x3) are in the process of replacing their obsolete engine with one based on Ogre3d.

Given that their requirements will be essentially the same and SCP is short of developer time, would it save effort to borrow some of their effort? (..or have joint development in a space sim engine).

Also it seems after the Ogre3d port they are considering *seamless planetary/space flight* (http://vegastrike.sourceforge.net/forums/viewtopic.php?f=6&t=4597&st=0&sk=t&sd=a) , based on procedural techniques developed for the Ogre3d engine as part ofthis project (http://www.ogre3d.org/forums/viewtopic.php?f=11&t=39254&sid=7494779d1237d4972e772ed7de0e87a3&start=125).

It goes without saying procedurally generated space cities/planets would make immersion incredible, so moving to Ogre3d or looking into integration with Vegastrike code might be interesting ..


Title: Re: Post-processing
Post by: Commander Zane on November 02, 2009, 04:08:56 am
You're so going to get bashed for saying that. :P
Title: Re: Post-processing
Post by: chief1983 on November 02, 2009, 09:36:17 am
Well I don't know why he'd get bashed for such a first post, but I don't think it's likely to happen.  Code from FSO could not be utilized by Vegastrike, although now that Ogre is MIT licensed we could borrow code from it for FSO.
Title: Re: Post-processing
Post by: Commander Zane on November 02, 2009, 11:50:38 am
Because mentioning changing the game code is like mentioning the nice little three-character word that starts with a letter and ends with a number, and is looked upon as heresy for saying. :P
Title: Re: Post-processing
Post by: The E on November 02, 2009, 11:53:56 am
Actually, I don't think so. Suggestions like that, even if they turn out to be impractical, are never a bad thing.
Title: Re: Post-processing
Post by: Commander Zane on November 02, 2009, 11:58:06 am
Eh...there's a few topics I've seen that had a lot of complaints about everything becoming incompatable, taking far too long, all progress made in the source becoming moot, I'll have to look around to find these again.
Title: Re: Post-processing
Post by: chief1983 on November 02, 2009, 04:24:35 pm
Still it doesn't hurt to ask.  At least if you have some of those reasons you can then crush their spirits, but don't just assume that's going to happen :)

Also, he didn't say it would 'be easy'.  So that's cool too.
Title: Re: Post-processing
Post by: e1 on November 03, 2009, 09:16:20 pm
I see, I only found out about SCP via a demo of 'BTRL' a little while ago, so took the fs2_open to mean LGPL or similar and the E's comment to mean an entire rendering engine rewrite being considered, my bad for not reading further..

Less wildly impractically, would it be too much a change of current architecture to add detail to textures at very close range to make them non-bland, (hacked into the first post-processing pass maybe)?
Detail can be procedurally generated by using fractal algorithms (or psuedo-random number sequences based on shift registers if the detail needs to be reproduceable). Detailing algorithms of various types depicting wear and tear/battle scarring/micro-details can be chosen by the artists at different locations (procedural deformation of mesh/normal map would involve far more coding in the form of adding geometry shaders etc I guess).. This might help reduce the use of supermassive textures too..
Title: Re: Post-processing
Post by: chief1983 on November 03, 2009, 09:53:42 pm
Now that sounds like a pretty sweet idea, and there's a lot of large ships with seemingly random details that could probably benefit from that.
Title: Re: Post-processing
Post by: Hery on November 04, 2009, 12:40:25 pm
Quote
Detail can be procedurally generated by using fractal algorithms (or psuedo-random number sequences based on shift registers if the detail needs to be reproduceable).
Could you point me to any publications on this prodecurally generated details?

Anyway, to get back on topic (for developers, though): I've almost finished adding doxygen-style to my post-processsing code, generated documentation is available here: http://quarnos.org/dl/scp_docs/html/namespaceopengl.html
Title: Re: Post-processing
Post by: Nighteyes on November 04, 2009, 02:42:36 pm
I don't know if this was reported already, but I get a bug:
whenever I die the bloom is turned off and a single frame is "stuck" of the post process image leftover... its kind of hard to explain... if you don't know what I'm talking about I'll add an image...
Title: Re: Post-processing
Post by: Hery on November 04, 2009, 02:46:58 pm
That problem was already reported and I'm working on it.
Title: Re: Post-processing
Post by: e1 on November 04, 2009, 11:33:47 pm

Could you point me to any publications on this prodecurally generated details?


I am not at all a coder so unfortunately not familiar with publications.. (most of what passes for coding I have done has been in Matlab in unrelated areas to game design at that though I can read c/have done some little algorithm design in it) But I have heard of such techniques mentioned in various places..
I can do some searching online and see what I come across if you wish..


I am not familiar with fractals (other than having encountered cantor sets) but their key propety is self-similarity.
This is useful for creation of maps for various things (eg. cap-ship surface structures)
But mainly I mentioned it as it is used a lot in cloud generation (eg. in adding dirtiness to detail textures).

Pseudo-number generation is an algorithm I was thinking about so same detail is seen by everyone everytime.
Linear Feedback Shift Registers have the following properties:
1. Consist of a register of length N bits.
2. Starting from a seed register state, at each iteration, a new state of N bits are created.
3. The shift register will step through 2^N-1 possible states in a *repeatable* but highly varying way [browseable bitsream].
4. A lot of different shift registers by specifying simple transition logic.


This allows creation of a vast stream of a browseable bitsream with a given seed.
* Initial seed determined for each object.
* Bitsteam divided into blocks of randomness.
* Most computational cost in browsing bitsteam. Bookmarking of bitsream would help I imagine. Also utilising other cpu-cores.
* Source of repeatable randomness for algorithm parameters.
* orient/resize/place premodelled cap-ship surface detail, wear and tear/realtime scarring.

Perlin noise functions are also used a lot, if I recall, and iare the result of combining simple functions with details at different scales, similar to fractals but with a optional self-similarity.

So this is possible.. no doubt there are infinitely more elegant algorithms specifically designed for this type of thing though, I'll see what I can locate and post..

(as an aside, interestingly, this behemoth (http://en.wikipedia.org/wiki/Infinity_the_quest_for_earth) (200 billion star systems :eek2:, or so they say) of an engine looks as if it will probably eventually change the way content creation is done, in a few years time).
Title: Re: Post-processing
Post by: e1 on November 05, 2009, 07:33:49 am
There is a lot of information/books on procedural techniques, it seems..
Some googling gives:

Generation using fractals:

Cloud maps which can be used to create dirtiness in textures such as visible here.Fate of the Galaxy screens. (http://www.moddb.com/games/fate-of-the-galaxy)

Public code, links and overviews (http://library.thinkquest.org/26242/full/index.html) - the generation mechanism can be fed random data/simplified

Paper on real time rendering (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.5195&rep=rep1&type=pdf)

Simple midpoint/Diamond square method (http://www.gameprogrammer.com/fractal.html#heightmaps) to generate a field of scalar values..
Suitable for dirtiness in textures or height maps in asteroids.

Opengl procedural textures webpage (http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node42.html)
These techiques makes it easy to interpolate as observer gets closer.


Perlin noise

Explanation and algorithm details (http://freespace.virgin.net/hugo.elias/models/m_perlin.htm)
Another with code.. (http://local.wasp.uwa.edu.au/~pbourke/texture_colour/perlin/)

Code example in opengl of perlin noise (http://www.sorgonet.com/linux/noise_textures/)

Opengl procedural textures webpage (http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node42.html)


Procedural techniques
Survey of procedural techniques that covers many topics (http://www.gamesitb.com/SurveyProcedural.pdf)

I imagine geometric detailing of gigantic ships will be similar to that of cities, with a few primitives created by moddlers being used in different permutations, in lieu of the buildings in the papers, according to algorithms selected/tweaked. A lot of coding..
Real time procedural cities. (http://74.125.153.132/search?q=cache:VCkrdVIaGw8J:https://svn.sable.mcgill.ca/sable/courses/COMP763/oldpapers/greuter-03-real-time.pdf+pseudo+random+procedural+modelling&cd=7&hl=en&ct=clnk)

Papers on multi-resolution subdivision modelling (http://mrl.nyu.edu/projects/modeling_simulation/multires/index.html) The first paper on procedural synthesis gives examples of a Perlin noise asteroid and ways for localised damage deformation visible at close range..


Probably only the texture detailing can be coded reasonably quickly..


Edit - it just occured to me the Ogre3d thread would have a lot of links..

Huge amount of papers on real-time techniques (http://www.vterrain.org/LOD/Papers/index.html)

Also the procedural generation code for planets is on zlib license so some sections could be reused..
Title: Re: Post-processing
Post by: Hery on November 05, 2009, 07:48:06 am
Thanks, that looks very interesting. I have many other things on my todo list, but I will also find some time for playing with this.
Title: Re: Post-processing
Post by: chief1983 on November 05, 2009, 09:23:02 am
This all looks great (thanks for the FotG plug too!), but all I can suggest is don't expect too quick a turnaround on anything like this.  Lots of good ideas get mentioned around here and if they're big they tend to get lost in the fray.  But since Hery is already working on similar stuff hopefully some of these ideas see the light of day eventually :)
Title: Re: Post-processing
Post by: e1 on November 05, 2009, 08:38:12 pm
Indeed, usually major updates to parts of open source projects like blender even with a huge amount of developers takes years to implement, so games tend to take a decade or so to reach 1.x..

The only part which is even contemplatable would be the texture detailing (either as an fractal interpolation of low res detail or placing dirtiness from a map). As far as i can see from the FoTG screens the textures are mostly very simple, with the dirtiness depicted like that necessitating much of the texture size bloat (even better if it was a cap ship).

Probably there should be a directory in the wiki for ideas sorted by topic area?..
Title: Re: Post-processing
Post by: chief1983 on November 05, 2009, 10:20:44 pm
I've actually been trying to get some dialog going about a formal feature request system.  Hold tight :)
Title: Re: Post-processing
Post by: Aardwolf on November 06, 2009, 12:08:03 am
Well, there is a "feature" option in Mantis. But that's probably not good enough, is it?
Title: Re: Post-processing
Post by: chief1983 on November 06, 2009, 09:42:33 am
It could be, and it's one option on the table.  So is Trac however.
Title: Re: Post-processing
Post by: Hery on November 08, 2009, 03:50:11 pm
I was looking for presentations on multicore programming in gamedev when I came across Crytek explanation of light shafts in Crysis.
http://img4.imageshack.us/img4/7379/screen0053.jpg

This is only an unfinished prototype. I'm currently concentrating (or trying to concentrate) on different parts of FSO code, but this was very easy to implement and I decided to check how it would look like.
Title: Re: Post-processing
Post by: Ace on November 08, 2009, 03:59:27 pm
Very nice. :)
Title: Re: Post-processing
Post by: FreeSpaceFreak on November 09, 2009, 01:51:06 am
Now that would look *awesome* inside the nebula.
Title: Re: Post-processing
Post by: Nemesis6 on November 09, 2009, 02:43:20 am
I was looking for presentations on multicore programming in gamedev when I came across Crytek explanation of light shafts in Crysis.
http://img4.imageshack.us/img4/7379/screen0053.jpg

This is only an unfinished prototype. I'm currently concentrating (or trying to concentrate) on different parts of FSO code, but this was very easy to implement and I decided to check how it would look like.

That is absolutely awesome. Any chance of us getting a look at this prototype just to peak our curiousity?
Title: Re: Post-processing
Post by: DaBrain on November 09, 2009, 02:12:42 pm
Very impressive hery!

I can't wait to see the final implementation.


Btw will it work for animated objects in the background as well?
I.e. a rotating asteroid belt in the background in front of the sun?

I think that would look extremely impressive. :)
Title: Re: Post-processing
Post by: Something on November 09, 2009, 02:16:23 pm
Very impressive hery!

I can't wait to see the final implementation.


Btw will it work for animated objects in the background as well?
I.e. a rotating asteroid belt in the background in front of the sun?

I think that would look extremely impressive. :)

It would, but you'd have to see if it does anything bad to the FPS.
Title: Re: Post-processing
Post by: Hery on November 09, 2009, 02:32:33 pm
Btw will it work for animated objects in the background as well?
I.e. a rotating asteroid belt in the background in front of the sun?
Currently it works for and only for objects which depth information is saved to the z-buffer. Of course, that may be improved if necessary ;D

Quote
It would, but you'd have to see if it does anything bad to the FPS.
It's a post-processing effect, performance loss depends only on the screen resolution (and the effect quality) :D

Problems when player dies: solved. Some minor, unreported here issues: solved.
http://quarnos.org/dl/pp_build-20091111.zip
Title: Re: Post-processing
Post by: Nemesis6 on November 11, 2009, 03:23:02 pm
Code: [Select]
mv_music-mus.tbm(line 18:
Error: Missing required token: [#Soundtrack End]. Found [#SoundTrack Start]  instead.

<no module>! KiFastSystemCallRet
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! RegisterWaitForInputIdle + 73 bytes

When I try to run the latest version.
Title: Re: Post-processing
Post by: Hery on November 11, 2009, 03:53:26 pm
This problem is not related to the changes I introduced. Which mod is it?
Title: Re: Post-processing
Post by: Topgun on November 11, 2009, 05:37:34 pm
Now that would look *awesome* inside the nebula.
I think it would look *awesomer* inside an asteroid field.
Title: Re: Post-processing
Post by: Aardwolf on November 11, 2009, 06:44:15 pm
Am I right that Hery's code makes use of namespaces?

I can't remember where I saw it, but IIRC there was a doxygen-style documentation page with that sort of stuff... Namespaces... maybe a good idea.

Title: Re: Post-processing
Post by: Nemesis6 on November 12, 2009, 05:21:50 am
This problem is not related to the changes I introduced. Which mod is it?


Happens no matter what mod I try to run. Running the shaders and table file inside the MediaVPS folder if that makes a difference. Just found out that the debug version runs fine.

EDIT: Worked for a while at least, then I got another one of these apparently useless errors:
Code: [Select]
Weapon type "TAG-C" found in loadout of mission file. This class is not marked as a player allowed weapon...skipping
<no module>! KiFastSystemCallRet
<no module>! WaitForSingleObject + 18 bytes
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! RegisterWaitForInputIdle + 73 bytes
Title: Re: Post-processing
Post by: Hery on November 12, 2009, 07:28:54 am
Am I right that Hery's code makes use of namespaces?

I can't remember where I saw it, but IIRC there was a doxygen-style documentation page with that sort of stuff... Namespaces... maybe a good idea.
http://quarnos.org/dl/scp_docs/html/namespaceopengl.html
I'm trying to make FSO internal architecture object-oriented since it is way easier to maintain than the procedural approach.

Nemesis6: AFAIK 3.6.11 is much stricter on reporting problems in the mod files. That's probably the reasons why you are getting these errors since it is highly unlikely that my code broke mission loading or something like that.
Title: Re: Post-processing
Post by: Sushi on November 12, 2009, 09:08:55 am
I got a similar error parsing music.tbl when I tried to run Inferno R1 using 3.6.11. This is likely the same thing. I believe at some point someone did update how music.tbl was parsed to fix a bug, that may have inadvertently broken a mod or two.
Title: Re: Post-processing
Post by: portej05 on November 12, 2009, 11:05:11 am
That was one of mine (commit note says 'tested by Sushi' :P ) Commit 5439
Would need to see the music table to tell whether it's a code or table bug.
Title: Re: Post-processing
Post by: Sushi on November 12, 2009, 11:17:13 am
That was one of mine (commit note says 'tested by Sushi' :P )

Aw, crap. :sigh: Is there anything I touch that doesn't break?  :doubt:

Well, you should be able to reproduce the problem by trying to run Inferno R1 (with the SCP patch) in 3.6.11. Even weirder, IIRC, I only got the error if I used mediavps.

Title: Re: Post-processing
Post by: Dragon on November 12, 2009, 11:36:05 am
Code: [Select]
Weapon type "TAG-C" found in loadout of mission file. This class is not marked as a player allowed weapon...skipping
<no module>! KiFastSystemCallRet
<no module>! WaitForSingleObject + 18 bytes
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! <no symbol>
<no module>! RegisterWaitForInputIdle + 73 bytes
This one just means that for some reason there is a TAG-C (missile that was used for a mechanic dumped from FS2, but left in code and tables, namely SSM missile system) in a mission weaponary pool. As I recall, the only mod that ever used SSM (and still uses it) is a BP: WiH (yes, that's right, you will see SSMs in there), but I think I seen TAG-C available in at least one of stand-alone missions in retail (one if the gauntlets?).
Title: Re: Post-processing
Post by: Nemesis6 on November 13, 2009, 09:16:29 am
I've tried going with an older install now. These problems started occuring after i used the SCP 2.2 Re-release. I don't seem to have any problems now, so take my reported errors with a grain of salt.

I did find one new error, though. This happens in the Straight, No Chaser mission:
(http://h.imagehost.org/t/0643/error.jpg) (http://h.imagehost.org/view/0643/error)

Do notice the corruption on the craft itself, too. Happens the second you start, disappears, happens again, then it's gone. Oh, what the hell, I'm on a roll here: Pilot chat also seems to be missing as command starts talking to themself - *silence* "Say again pilot, another portal?"... *silence*... "Can you locate the Azrael?".
Title: Re: Post-processing
Post by: Hery on November 13, 2009, 09:46:43 am
Unfortunately, I am not able to reproduce this bug. Could you send me your debug log?
Have you updated also the *.sdr files?
Title: Re: Post-processing
Post by: Topgun on November 13, 2009, 11:32:27 am
I've tried going with an older install now. These problems started occuring after i used the SCP 2.2 Re-release. I don't seem to have any problems now, so take my reported errors with a grain of salt.

I did find one new error, though. This happens in the Straight, No Chaser mission:
(http://h.imagehost.org/t/0643/error.jpg) (http://h.imagehost.org/view/0643/error)

Do notice the corruption on the craft itself, too. Happens the second you start, disappears, happens again, then it's gone. Oh, what the hell, I'm on a roll here: Pilot chat also seems to be missing as command starts talking to themself - *silence* "Say again pilot, another portal?"... *silence*... "Can you locate the Azrael?".
aahh, what?
Title: Re: Post-processing
Post by: Solatar on November 13, 2009, 12:20:00 pm
This has been working quite well for me actually.  The only problem I'm having is that it doesn't seem to have the fix for 720p resolution that most of the recent builds do (it tries to use the low-res interface art). This is easily solved by changing though.

The shaders look quite nice, and other than a bit of motion sickness I haven't had any problems.
Title: Re: Post-processing
Post by: chief1983 on November 13, 2009, 12:26:14 pm
Zacam's builds are the only ones with it because it's not in trunk yet I believe.  He's been applying that fix locally.  If it's working it should probably make it into trunk though.
Title: Re: Post-processing
Post by: portej05 on November 13, 2009, 12:42:29 pm
It's all going into the next Antipodes - I did intend to do it tonight, but then those memset and vm_malloc issues cropped up.
Title: Re: Post-processing
Post by: Dark RevenantX on November 17, 2009, 12:04:24 am
Here to report that the post processing builds are now working correctly on the latest radeon cards (I use an HD 4870).  Absolutely no problems to report, except for unclear instructions on how to use the post processing table.  Most values just give me an incomprehensible cube-arranged mess of speckles...

Some post processing filters to think about are gamma and hue controls, posterization, cell shading (outlines and such - this would be more difficult to implement), screen space warping, guassian blur, ghosting (basically a crude motion blur that you'd see when injured in, say, a Call of Duty game), and color inversion.  Some of these could be combined to, for example, have a first-person view of entering a warpout when you end your mission.

Something that would be extremely useful is the ability for conditional post processing - I'd like to see some full-screen distortion and contrast/saturation fudging when hit by an EMP bomb, for instance.  Being in the wake of a shockwave would also be grounds for possibly some light distortion and a gamma increase.  A subspace mission would need some overbright post processing, maybe some ramped up saturation and contrast, and an intense but tight bloom effect.  A nebula mission would need a less intense bloom, but the glow would be very large, giving a greater impression of a murky soup that disperses light.

Also, the mjolnir blockade mission is really fun with bloom activated...
Title: Re: Post-processing
Post by: Hery on November 17, 2009, 04:51:01 am
I will create a Wiki article with instructions on how to modify post_processing.tbl when my code is commited to the Antipodes branch.

Gamma, hue, color inversion and posterization are very easy, they can be implemented without any change to the FSO code. Actually, there is a posterization implemented in post-f.sdr but this part of the code is commented out. Cell shading also isn't a complicated effect but to implement it really easily there will be needed a little change to the engine code. Gaussian blur is already implemented and working (used in depth of field and bloom, the former is disabled in the code, though, since there is no good interface to control this effect).

I've already thought about how to control post-processing effects in more convenient way than using SEXP. Unfortunatelly, I think it is pointless to hack into code any workarounds until configuration manager is (at least partially) done.
Title: Re: Post-processing
Post by: Mongoose on November 17, 2009, 05:54:48 pm
Cel-shading was once implemented in a non-post-processing manner, wasn't it?  Is that code still in the engine, or did it get ripped out at some point because no one was really doing anything with it?
Title: Re: Post-processing
Post by: Spoon on November 17, 2009, 06:19:29 pm
Cal-shading huh? I would be very interested in how that looks.
Title: Re: Post-processing
Post by: Zacam on November 17, 2009, 06:21:39 pm
Cell Shading used to take place under DX Codebase if you ran with mv_cell.vp.
Title: Re: Post-processing
Post by: Mongoose on November 17, 2009, 06:37:10 pm
Ah, so it was D3D-dependent, then.
Title: Re: Post-processing
Post by: Woolie Wool on November 20, 2009, 04:57:16 pm
Is there any way to adjust the bloom? On atmospheric skybox missions it is so bright that it makes my eyes want to melt and run down my face.
Title: Re: Post-processing
Post by: Hery on November 20, 2009, 05:13:22 pm
-bloom_intensity X
0 is no bloom, 100 is maximum bloom

This problem will be solved, but I have to do some other things first.
Title: Re: Post-processing
Post by: Dark RevenantX on November 20, 2009, 06:38:28 pm
-bloom_intensity X
0 is no bloom, 100 is maximum bloom

You should probably force that 100 cap, then, because values above 100 work for me.  It's really insane at 500+...
Title: Re: Post-processing
Post by: Solatar on November 20, 2009, 06:41:33 pm
Is there a similar way to control motion blur? Maybe just on and off? I love the bloom and other effects, but the motion blur is just making me sick (it's not your fault, it looks great, I'm just very prone to motion sickness for some reason).
Title: Re: Post-processing
Post by: Hery on November 21, 2009, 04:58:27 am
There is no motion blur, since October 11th.
Title: Re: Post-processing
Post by: Solatar on November 21, 2009, 10:22:34 am
I was just about to post that in the most recent builds, I didn't notice it. :p

I've been playing with the most recent build, and it's been working wonderfully.
Title: Re: Post-processing
Post by: Fury on February 02, 2010, 06:08:06 am
I was wondering here if Hery or anyone else has managed to fix colors going funky when "stripes" post-processing effect is used? We don't have many effects at our disposal in .11/.12, so I was hoping those few would work without unwanted side-effects. :)
Title: Re: Post-processing
Post by: Fury on February 05, 2010, 09:14:57 am
Another issue, it would be much appreciated if bloom wouldn't affect skyboxes. It makes some of them look really bad.
Title: Re: Post-processing
Post by: General Battuta on February 05, 2010, 09:23:21 am
It would be really lovely if we could accomplish that. Bloom destroys skyboxes.
Title: Re: Post-processing
Post by: chief1983 on February 05, 2010, 09:50:29 am
Well strictly speaking, the effect that bloom is supposed to simulate from reality would affect the far off background just like any other visible objects.  However if it looks bad maybe it needs to be treated a bit differently?  I was under the impression that because it's post-processing though that it's applied to the entire scene.  I don't think it can tell background from object?
Title: Re: Post-processing
Post by: General Battuta on February 05, 2010, 10:00:32 am
I don't think it can either.
Title: Re: Post-processing
Post by: pecenipicek on February 05, 2010, 07:58:57 pm
bloom is a "dumb" effect. dumb as in, it doesnt really do anything except make bright pixels brighter and fuzzyfies the edges  to give it a "glowy" look. when used correctly, it is teh awsome. when used incorrectly, its teh suckzorz.


Title: Re: Post-processing
Post by: Hery on February 07, 2010, 03:46:50 am
Technically speaking pecenipicek is right. However, it is possible to prevent bloom from affecting skyboxes. Since there already were such requests I'll work on it. The only problem I see (apart from some issues when other than the optimal ways of enabling AA with PP are used) is how FSO will know whether apply or not bloom to the skybox.
Title: Re: Post-processing
Post by: KeldorKatarn on February 07, 2010, 12:32:44 pm
Please make this optional. We like it affecting the skybox (that's what a POST processing effect SHOULD do. that's why it's called POST processing)
Title: Re: Post-processing
Post by: Pottuvoi on February 07, 2010, 12:33:58 pm
Right way would be using a HDR values, but some sort of stencil buffer method could be possible as well.
Title: Re: Post-processing
Post by: pecenipicek on February 07, 2010, 12:46:54 pm
Right way would be using a HDR values, but some sort of stencil buffer method could be possible as well.
if we could use proper stencil buffers, dontcha think we'd have shadows by now? oh wait :p
Title: Re: Post-processing
Post by: Fury on February 12, 2010, 01:13:52 am
Please make this optional. We like it affecting the skybox (that's what a POST processing effect SHOULD do. that's why it's called POST processing)
Unless Hery can think of something more clever, perhaps launcher flag to enable/disable skybox post processing would be ok.

Anyhow, I hope Hery has finished his awesome fix to get anti-aliasing work with post-processing. I was hoping we'd be able to see it in 3.6.12 RC1, but seems like RC2 is more likely. :)
Title: Re: Post-processing
Post by: Angelus on February 12, 2010, 06:09:03 pm
Post Processing isn't working for me, sadly.
Non of the Antipodes builds and nightlys is working, regardless of setting. Maybe something wrong with the Omega driver?
The odd thing is, earlier builds ( pre antipodes and scp ) Hery posted do work with the old shaderfiles, tested it in FS2, TBP and BtRL.

Thx in advance!

Code: [Select]

==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.11.1111
Passed cmdline options:
  -spec_exp 11
  -ogl_spec 82
  -spec_static 10
  -spec_point 5.6
  -spec_tube 5.5
  -ambient_factor 40
  -env
  -mipmap
  -missile_lighting
  -glow
  -nomotiondebris
  -spec
  -normal
  -3dshockwave
  -post_process
  -bloom_intensity 100
  -ballistic_gauge
  -dualscanlines
  -orbradar
  -targetinfo
  -3dwarp
  -ship_choice_3d
  -weapon_choice_3d
  -warp_flash
  -mod mediavps,mediavps
  -fps
Building file index...
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' with a checksum of 0xd06bf123
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' with a checksum of 0xc9e372bb
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' with a checksum of 0x0dc7bb8f
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' with a checksum of 0xa3141c30
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' with a checksum of 0x4dbbbe96
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' with a checksum of 0xd06bf123
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' with a checksum of 0xc9e372bb
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' with a checksum of 0x0dc7bb8f
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' with a checksum of 0xa3141c30
Found root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' with a checksum of 0x4dbbbe96
Found root pack 'C:\Games\FreeSpace2\FS2OGGcutscenepack.vp' with a checksum of 0x84396e99
Found root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'C:\Games\FreeSpace2\multi-voice-pack.vp' with a checksum of 0xd50e7442
Found root pack 'C:\Games\FreeSpace2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'C:\Games\FreeSpace2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'C:\Games\FreeSpace2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'C:\Games\FreeSpace2\mediavps\' ... 107 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' ... 2868 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' ... 1810 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' ... 146 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' ... 1046 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' ... 32 files
Searching root 'C:\Games\FreeSpace2\mediavps\' ... 107 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Advanced.vp' ... 2868 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Assets.vp' ... 1810 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Core.vp' ... 146 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Effects.vp' ... 1046 files
Searching root pack 'C:\Games\FreeSpace2\mediavps\MV_Music.vp' ... 32 files
Searching root 'C:\Games\FreeSpace2\' ... 143 files
Searching root pack 'C:\Games\FreeSpace2\FS2OGGcutscenepack.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\multi-mission-pack.vp' ... 110 files
Searching root pack 'C:\Games\FreeSpace2\multi-voice-pack.vp' ... 307 files
Searching root pack 'C:\Games\FreeSpace2\root_fs2.vp' ... 157 files
Searching root pack 'C:\Games\FreeSpace2\smarty_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\sparky_fs2.vp' ... 3027 files
Searching root pack 'C:\Games\FreeSpace2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'C:\Games\FreeSpace2\stu_fs2.vp' ... 2355 files
Searching root pack 'C:\Games\FreeSpace2\tango1_fs2.vp' ... 32 files
Searching root pack 'C:\Games\FreeSpace2\tango2_fs2.vp' ... 15 files
Searching root pack 'C:\Games\FreeSpace2\tango3_fs2.vp' ... 10 files
Searching root pack 'C:\Games\FreeSpace2\warble_fs2.vp' ... 52 files
Searching root 'g:\' ... 0 files
Found 26 roots and 19583 files.
AutoLang: Language auto-detection successful...
Setting language to English
TBM  =>  Starting parse of 'mv_strings-lcl.tbm' ...
Initializing OpenAL...
  Using 'Generic Software' as OpenAL sound device...
  OpenAL Vendor     : Creative Labs Inc.
  OpenAL Renderer   : Software
  OpenAL Version    : 1.1

... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 1280x1024 with 32-bit color...
  Initializing WGL...
  Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  Actual WGL Video values    = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  OpenGL Vendor     : ATI Technologies Inc.
  OpenGL Renderer   : Radeon HD 2600 XT (Omega 3.8.442)
  OpenGL Version    : 2.1.7169 Release

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Using extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Using extension "GL_SGIS_generate_mipmap".
  Using extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Using extension "GL_ARB_point_sprite".
  Using extension "GL_ARB_shading_language_100".
  Using extension "GL_ARB_shader_objects".
  Using extension "GL_ARB_vertex_shader".
  Using extension "GL_ARB_fragment_shader".
  Unable to find extension "GL_ATI_shader_texture_lod".
  Found special extension function "wglSwapIntervalEXT".

  Max texture units: 8 (8)
  Max elements vertices: 2147483647
  Max elements indices: 16777215
  Max texture size: 8192x8192
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
... OpenGL init is complete!
Size of bitmap info = 760 KB
Size of bitmap extra info = 52 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
Wokka!  Error opening file (scripting.tbl)!
TABLES: Unable to parse 'scripting.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'velindc-sct.tbm' ...
TBM  =>  Starting parse of 'flak-sct.tbm' ...
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...
Wokka!  Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-sdf.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-sdf.tbm' ...
ANI 2_radar1 with size 209x170 (33.6% wasted)
Windows reported 16 joysticks, we found 1
Current soundtrack set to -1 in event_music_reset_choices
TBM  =>  Starting parse of 'mv_music-mus.tbm' ...
TBM  =>  Starting parse of 'mv_advmuzzle-mfl.tbm' ...
Wokka!  Error opening file (armor.tbl)!
TABLES: Unable to parse 'armor.tbl'!  Error code = 5.
TBM  =>  Starting parse of 'mv_effects-wxp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wxp.tbm' ...
BMPMAN: Found EFF (exp20.eff) with 64 frames at 30 fps.
BMPMAN: Found EFF (ExpMissileHit1.eff) with 44 frames at 30 fps.
BMPMAN: Found EFF (exp05.eff) with 47 frames at 20 fps.
BMPMAN: Found EFF (exp06.eff) with 48 frames at 20 fps.
BMPMAN: Found EFF (exp04.eff) with 60 frames at 20 fps.
BMPMAN: Found EFF (Maxim_Impact.eff) with 23 frames at 30 fps.
ANI Lamprey_Impact with size 80x80 (37.5% wasted)
BMPMAN: Found EFF (Gmuzzle.eff) with 5 frames at 30 fps.
BMPMAN: Found EFF (PWmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Rmuzzle.eff) with 4 frames at 30 fps.
BMPMAN: Found EFF (Bmuzzle.eff) with 5 frames at 30 fps.
TBM  =>  Starting parse of 'mv_effects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_tech-wep.tbm' ...
TBM  =>  Starting parse of 'mv_models-wep.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-wep.tbm' ...
TBM  =>  Starting parse of 'mv_trails-shp.tbm' ...
TBM  =>  Starting parse of 'mv_tech-shp.tbm' ...
TBM  =>  Starting parse of 'mv_dragon-shp.tbm' ...
TBM  =>  Starting parse of 'mv_density-shp.tbm' ...
TBM  =>  Starting parse of 'mv_models-shp.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-shp.tbm' ...
TBM  =>  Starting parse of 'mv_escort-hdg.tbm' ...
TBM  =>  Starting parse of 'mv_effects-str.tbm' ...
loading animated cursor "cursor"
ANI cursor with size 24x24 (25.0% wasted)
Ships.tbl is : VALID
Weapons.tbl is : VALID
cfile_init() took 1406
Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
Frame  0 too long!!: frametime = 0.329 (0.329)
Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
Someone passed an extension to bm_load for file '242suicide.pcx'
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Frame  0 too long!!: frametime = 0.788 (0.788)
Frame  0 too long!!: frametime = 0.583 (0.583)
Got event GS_EVENT_TECH_MENU (11) in state GS_STATE_MAIN_MENU (1)
Techroom successfully initialized, now changing tab...
Loading model 'fighter01.pof'
IBX: Found a good IBX to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x3503498e, IBX checksum: 0x4024384c -- "fighter01.pof"
Frame  0 too long!!: frametime = 1.386 (1.386)
Frame  0 too long!!: frametime = 0.801 (0.801)
Got event GS_EVENT_SIMULATOR_ROOM (58) in state GS_STATE_TECH_MENU (7)
Freeing all existing models...
Frame  0 too long!!: frametime = 2.689 (2.689)
Frame  0 too long!!: frametime = 0.357 (0.357)
Got event GS_EVENT_START_GAME (1) in state GS_STATE_SIMULATOR_ROOM (20)
=================== STARTING LEVEL LOAD ==================
ANI 2_Loading with size 824x43 (32.8% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Starting model page in...
Beginning level bitmap paging...
BMPMAN: Found EFF (particleexp01.eff) with 10 frames at 8 fps.
BMPMAN: Found EFF (particlesmoke01.eff) with 88 frames at 30 fps.
BMPMAN: Found EFF (particlesmoke02.eff) with 39 frames at 24 fps.
TBM  =>  Starting parse of 'mv_fireball-fbl.tbm' ...
TBM  =>  Starting parse of 'mv_adveffects-fbl.tbm' ...
BMPMAN: Found EFF (WarpMap01.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (WarpMap02.eff) with 30 frames at 30 fps.
BMPMAN: Found EFF (rock_exp.eff) with 55 frames at 30 fps.
Loading warp model
Loading model 'warp.pof'
IBX: Found a good IBX to read for 'warp.pof'.
IBX-DEBUG => POF checksum: 0xbf802ad0, IBX checksum: 0x3888b26c -- "warp.pof"
 256
BMPMAN: Found EFF (shieldhit01a.eff) with 23 frames at 21 fps.
BMPMAN: Found EFF (shieldhit02a.eff) with 45 frames at 30 fps.
BMPMAN: Found EFF (shieldhit03a.eff) with 22 frames at 30 fps.
SHOCKWAVE =>  Loading default shockwave model...
Loading model 'shockwave.pof'
IBX: Found a good IBX to read for 'shockwave.pof'.
IBX-DEBUG => POF checksum: 0xd8be5fd9, IBX checksum: 0x208fb934 -- "shockwave.pof"
BMPMAN: Found EFF (shockwave3d-glow.eff) with 159 frames at 24 fps.
Model shockwave.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
SHOCKWAVE =>  Default model load: SUCCEEDED!!
MISSION LOAD: 'Lets go Shopping'
WARNING: "Weapon type "Harpoon#Weak" found in loadout of mission file. This class is not marked as a player allowed weapon...skipping" at parselo.cpp:2368
Using callsign: Pearl
Using callsign: Blackbeard
Using callsign: Stinger
Starting mission message count : 205
Ending mission message count : 205
Current soundtrack set to -1 in event_music_reset_choices
Loading model 'fighter01.pof'
IBX: Found a good IBX to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0x3503498e, IBX checksum: 0x4024384c -- "fighter01.pof"
Loading model 'cruiser01x.pof'
IBX: Found a good IBX to read for 'cruiser01x.pof'.
IBX-DEBUG => POF checksum: 0x8e7a6f04, IBX checksum: 0x7d5ab466 -- "cruiser01x.pof"
Allocating space for at least 15 new ship subsystems ...  a total of 200 is now available (15 in-use).
Loading model 'install01.pof'
IBX: Found a good IBX to read for 'install01.pof'.
IBX-DEBUG => POF checksum: 0xd7e97895, IBX checksum: 0x16a32260 -- "install01.pof"
Potential problem found: Unrecognized subsystem type 'fighterbay', believed to be in ship install01.pof
Unknown special object type $path06 while reading model install01.pof
Unknown special object type $path07 while reading model install01.pof
Loading model 'drydock2t-01.pof'
IBX: Found a good IBX to read for 'drydock2t-01.pof'.
IBX-DEBUG => POF checksum: 0xb5f3799e, IBX checksum: 0x9c962822 -- "drydock2t-01.pof"
Potential problem found: Unrecognized subsystem type 'hose01', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'hose02', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'hose03', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'hose04', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'piece1a', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'piece2a', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'piece3a', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'piece4a', believed to be in ship drydock2t-01.pof
Potential problem found: Unrecognized subsystem type 'storage', believed to be in ship drydock2t-01.pof
Found live debris model for 'piece1a'
Found live debris model for 'piece1a'
Found live debris model for 'piece1a'
Found live debris model for 'piece1a'
Found live debris model for 'piece1a'
Found live debris model for 'piece2a'
Found live debris model for 'piece2a'
Found live debris model for 'piece3a'
Found live debris model for 'piece3a'
Found live debris model for 'piece3a'
Found live debris model for 'piece4a'
Loading model 'cruiser01.pof'
IBX: Found a good IBX to read for 'cruiser01.pof'.
IBX-DEBUG => POF checksum: 0x971dcc75, IBX checksum: 0x1c8d31e6 -- "cruiser01.pof"
Loading model 'freighter2t-01.pof'
IBX: Found a good IBX to read for 'freighter2t-01.pof'.
IBX-DEBUG => POF checksum: 0x557cede4, IBX checksum: 0xf78a4f57 -- "freighter2t-01.pof"
Loading model 'freighter02.pof'
IBX: Found a good IBX to read for 'freighter02.pof'.
IBX-DEBUG => POF checksum: 0x80968918, IBX checksum: 0x9fdc6bdc -- "freighter02.pof"
Allocating space for at least 9 new ship subsystems ...  a total of 400 is now available (202 in-use).
Loading model 'cargo2t-01.pof'
IBX: Found a good IBX to read for 'cargo2t-01.pof'.
IBX-DEBUG => POF checksum: 0x5f3f96b4, IBX checksum: 0xb6c2fe6e -- "cargo2t-01.pof"
Loading model 'corvette2t-01.pof'
IBX: Found a good IBX to read for 'corvette2t-01.pof'.
IBX-DEBUG => POF checksum: 0xef71a6a2, IBX checksum: 0x58d8919e -- "corvette2t-01.pof"
Loading model 'fighter13.pof'
IBX: Found a good IBX to read for 'fighter13.pof'.
IBX-DEBUG => POF checksum: 0x13fad0b4, IBX checksum: 0x793319e8 -- "fighter13.pof"
Loading model 'fighter06.pof'
IBX: Found a good IBX to read for 'fighter06.pof'.
IBX-DEBUG => POF checksum: 0xcc331676, IBX checksum: 0x3a14455c -- "fighter06.pof"
OpenGL: Created 512x512 FBO!
ANI 2_lock1 with size 56x53 (17.2% wasted)
ANI 2_lockspin with size 100x100 (21.9% wasted)
ANI 2_lead1 with size 26x26 (18.8% wasted)
ANI 2_energy2 with size 86x96 (25.0% wasted)
ANI toggle1 with size 57x20 (37.5% wasted)
ANI weapons1 with size 126x20 (37.5% wasted)
ANI weapons1_b with size 150x20 (37.5% wasted)
ANI 2_toparc1 with size 252x60 (6.3% wasted)
ANI 2_toparc2 with size 35x24 (25.0% wasted)
ANI 2_toparc3 with size 41x29 (9.4% wasted)
ANI 2_leftarc with size 103x252 (1.6% wasted)
ANI 2_rightarc1 with size 103x252 (1.6% wasted)
ANI 2_reticle1 with size 40x24 (25.0% wasted)
ANI targhit1 with size 31x21 (34.4% wasted)
ANI energy1 with size 12x41 (35.9% wasted)
ANI targetview1 with size 137x156 (39.1% wasted)
ANI targetview2 with size 4x96 (25.0% wasted)
ANI targetview3 with size 7x20 (37.5% wasted)
ANI damage1 with size 148x25 (21.9% wasted)
ANI support1 with size 108x24 (25.0% wasted)
ANI objective1 with size 149x21 (34.4% wasted)
ANI wingman1 with size 71x53 (17.2% wasted)
ANI wingman2 with size 35x53 (17.2% wasted)
ANI wingman3 with size 14x53 (17.2% wasted)
ANI netlag1 with size 29x30 (6.3% wasted)
ANI head1 with size 164x132 (48.4% wasted)
ANI time1 with size 47x23 (28.1% wasted)
Loading model 'starfield.pof'
IBX: Found a good IBX to read for 'starfield.pof'.
IBX-DEBUG => POF checksum: 0x07d8680d, IBX checksum: 0x3d22d0e6 -- "starfield.pof"
Model starfield.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
=================== STARTING LEVEL DATA LOAD ==================
Loading model 'support2t-01.pof'
IBX: Found a good IBX to read for 'support2t-01.pof'.
IBX-DEBUG => POF checksum: 0x6512c7b6, IBX checksum: 0xd4a3527c -- "support2t-01.pof"
Loading model 'support2v-01.pof'
IBX: Found a good IBX to read for 'support2v-01.pof'.
IBX-DEBUG => POF checksum: 0x0abd41b4, IBX checksum: 0x3aadce53 -- "support2v-01.pof"
About to page in ships!
ANI shield-f01 with size 112x93 (27.3% wasted)
ANI shield-f06 with size 112x93 (27.3% wasted)
ANI shield-f13 with size 112x93 (27.3% wasted)
BMPMAN: Found EFF (Subach_AniBitmap.eff) with 6 frames at 5 fps.
BMPMAN: Found EFF (PrometheusR_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (Prometheus_AniBitmap.eff) with 12 frames at 5 fps.
BMPMAN: Found EFF (Kayser_AniBitmap.eff) with 4 frames at 5 fps.
ANI Kayser_Particle with size 80x80 (37.5% wasted)
ANI Lamprey_Particle with size 92x86 (32.8% wasted)
BMPMAN: Found EFF (particle_blue.eff) with 11 frames at 22 fps.
BMPMAN: Found EFF (AAAbeamAglow.eff) with 35 frames at 30 fps.
BMPMAN: Found EFF (AAAbeamAB.eff) with 15 frames at 15 fps.
BMPMAN: Found EFF (particle_green.eff) with 11 frames at 22 fps.
BMPMAN: Found EFF (GreenBeamGlow.eff) with 30 frames at 60 fps.
BMPMAN: Found EFF (TbeamAglow.eff) with 30 frames at 30 fps.
Loading model 'Blip.pof'
IBX: Found a good IBX to read for 'Blip.pof'.
IBX-DEBUG => POF checksum: 0x83ceab91, IBX checksum: 0x710a00d2 -- "Blip.pof"
Loading model 'rockeye.pof'
IBX: Found a good IBX to read for 'rockeye.pof'.
IBX-DEBUG => POF checksum: 0x25ff4c7f, IBX checksum: 0x541aef89 -- "rockeye.pof"
Loading model 'Tempest.pof'
IBX: Found a good IBX to read for 'Tempest.pof'.
IBX-DEBUG => POF checksum: 0xd02a81ee, IBX checksum: 0xf6422721 -- "Tempest.pof"
Loading model 'NewHornet.pof'
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
IBX: Found a good IBX to read for 'NewHornet.pof'.
IBX-DEBUG => POF checksum: 0x98d35b7d, IBX checksum: 0xe4ac391c -- "NewHornet.pof"
Loading model 'bombardier.pof'
IBX: Found a good IBX to read for 'bombardier.pof'.
IBX-DEBUG => POF checksum: 0x03e1b208, IBX checksum: 0x5def0a77 -- "bombardier.pof"
Loading model 'crossbow.pof'
IBX: Found a good IBX to read for 'crossbow.pof'.
IBX-DEBUG => POF checksum: 0x586f384b, IBX checksum: 0xb14be0e0 -- "crossbow.pof"
No subsystems found for model "crossbow.pof".
Loading model 'trebuchet.pof'
IBX: Found a good IBX to read for 'trebuchet.pof'.
IBX-DEBUG => POF checksum: 0x688e15f5, IBX checksum: 0xf6c9668d -- "trebuchet.pof"
Loading model 'taga.pof'
IBX: Found a good IBX to read for 'taga.pof'.
IBX-DEBUG => POF checksum: 0x45b2275e, IBX checksum: 0x3f9f6258 -- "taga.pof"
Loading model 'tagb.pof'
IBX: Found a good IBX to read for 'tagb.pof'.
IBX-DEBUG => POF checksum: 0x332af7cb, IBX checksum: 0x14d7a019 -- "tagb.pof"
Loading model 'piranha.pof'
IBX: Found a good IBX to read for 'piranha.pof'.
IBX-DEBUG => POF checksum: 0x0ba39db4, IBX checksum: 0x333b32e2 -- "piranha.pof"
Loading model 'stilettoII.pof'
IBX: Found a good IBX to read for 'stilettoII.pof'.
IBX-DEBUG => POF checksum: 0x6f4352cf, IBX checksum: 0xc0f267c6 -- "stilettoII.pof"
Loading model 'infyrno.pof'
IBX: Found a good IBX to read for 'infyrno.pof'.
IBX-DEBUG => POF checksum: 0xaef706c7, IBX checksum: 0x9b2555c2 -- "infyrno.pof"
Loading model 'belial.pof'
IBX: Found a good IBX to read for 'belial.pof'.
IBX-DEBUG => POF checksum: 0xb8ba8933, IBX checksum: 0x70b7a630 -- "belial.pof"
BMPMAN: Found EFF (shockwave01.eff) with 94 frames at 60 fps.
Loading model 'helios.pof'
IBX: Found a good IBX to read for 'helios.pof'.
IBX-DEBUG => POF checksum: 0xc75db1da, IBX checksum: 0xd9214c8a -- "helios.pof"
Loading model 'EMPulse2.pof'
IBX: Found a good IBX to read for 'EMPulse2.pof'.
IBX-DEBUG => POF checksum: 0x5269eb44, IBX checksum: 0xb7bd5b3a -- "EMPulse2.pof"
Loading model 'cmeasure01.pof'
IBX: Found a good IBX to read for 'cmeasure01.pof'.
IBX-DEBUG => POF checksum: 0x39d1d2bf, IBX checksum: 0x23737dab -- "cmeasure01.pof"
Loading model 'harbinger.pof'
IBX: Found a good IBX to read for 'harbinger.pof'.
IBX-DEBUG => POF checksum: 0x00344f78, IBX checksum: 0x044f341b -- "harbinger.pof"
Loading model 'Interceptor.pof'
IBX: Found a good IBX to read for 'Interceptor.pof'.
IBX-DEBUG => POF checksum: 0x3d4ed74c, IBX checksum: 0x6283fd66 -- "Interceptor.pof"
Model Interceptor.pof has a null moment of inertia!  (This is only a problem if the model is a ship.)
Loading model 'hornet.pof'
IBX: Found a good IBX to read for 'hornet.pof'.
IBX-DEBUG => POF checksum: 0x84f2378d, IBX checksum: 0x1203869f -- "hornet.pof"
Loading model 'debris01.pof'
IBX: Found a good IBX to read for 'debris01.pof'.
IBX-DEBUG => POF checksum: 0x974f214b, IBX checksum: 0x368eb490 -- "debris01.pof"
Loading model 'debris02.pof'
IBX: Found a good IBX to read for 'debris02.pof'.
IBX-DEBUG => POF checksum: 0x8e0eed50, IBX checksum: 0x7b2a747e -- "debris02.pof"
BMPMAN: Found EFF (Cmuzzle.eff) with 4 frames at 30 fps.
Paging in mission messages
Stopping model page in...
ANI 2_radar1.ani with size 209x170 (33.6% wasted)
ANI Lamprey_Impact.ani with size 80x80 (37.5% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
ANI 2_lock1.ani with size 56x53 (17.2% wasted)
ANI 2_lead1.ani with size 26x26 (18.8% wasted)
ANI 2_energy2.ani with size 86x96 (25.0% wasted)
ANI toggle1.ani with size 57x20 (37.5% wasted)
ANI weapons1.ani with size 126x20 (37.5% wasted)
ANI 2_toparc1.ani with size 252x60 (6.3% wasted)
ANI 2_toparc2.ani with size 35x24 (25.0% wasted)
ANI 2_toparc3.ani with size 41x29 (9.4% wasted)
ANI 2_leftarc.ani with size 103x252 (1.6% wasted)
ANI 2_rightarc1.ani with size 103x252 (1.6% wasted)
ANI 2_reticle1.ani with size 40x24 (25.0% wasted)
ANI targhit1.ani with size 31x21 (34.4% wasted)
ANI energy1.ani with size 12x41 (35.9% wasted)
ANI targetview1.ani with size 137x156 (39.1% wasted)
ANI targetview2.ani with size 4x96 (25.0% wasted)
ANI targetview3.ani with size 7x20 (37.5% wasted)
ANI damage1.ani with size 148x25 (21.9% wasted)
ANI support1.ani with size 108x24 (25.0% wasted)
ANI objective1.ani with size 149x21 (34.4% wasted)
ANI wingman1.ani with size 71x53 (17.2% wasted)
ANI wingman2.ani with size 35x53 (17.2% wasted)
ANI wingman3.ani with size 14x53 (17.2% wasted)
ANI netlag1.ani with size 29x30 (6.3% wasted)
ANI head1.ani with size 164x132 (48.4% wasted)
ANI time1.ani with size 47x23 (28.1% wasted)
ANI shield-f01.ani with size 112x93 (27.3% wasted)
ANI shield-f06.ani with size 112x93 (27.3% wasted)
ANI shield-f13.ani with size 112x93 (27.3% wasted)
ANI Kayser_Particle.ani with size 80x80 (37.5% wasted)
ANI Lamprey_Particle.ani with size 92x86 (32.8% wasted)
User bitmap 'TMP308x190+16'
User bitmap 'TMP337x206+16'
User bitmap 'TMP69x119+16'
User bitmap 'TMP231x145+16'
User bitmap 'TMP273x158+16'
User bitmap 'TMP319x174+16'
User bitmap 'TMP192x116+16'
User bitmap 'TMP509x189+16'
User bitmap 'TMP209x477+16'
User bitmap 'TMP256x256+8'
User bitmap 'TMP256x256+8'
User bitmap 'TMP128x128+8'
Bmpman: 1777/4750 bitmap slots in use.
Ending level bitmap paging...
=================== ENDING LOAD ================
Real count = 400,  Estimated count = 425
================================================
Received post for event GS_EVENT_START_BRIEFING during state transtition. Find Allender if you are unsure if this is bad.
Got event GS_EVENT_START_BRIEFING (15) in state GS_STATE_START_GAME (52)
ANI 2_BriefMap with size 918x400 (21.9% wasted)
ANI iconwing01 with size 32x28 (12.5% wasted)
Loading model 'fighter2t-02.pof'
IBX: Found a good IBX to read for 'fighter2t-02.pof'.
IBX-DEBUG => POF checksum: 0xcdb3e195, IBX checksum: 0x3176ea32 -- "fighter2t-02.pof"
Loading model 'bonus2t-02.pof'
IBX: Found a good IBX to read for 'bonus2t-02.pof'.
IBX-DEBUG => POF checksum: 0xcc6ff113, IBX checksum: 0x99680dc1 -- "bonus2t-02.pof"
Loading model 'fighter2t-04.pof'
IBX: Found a good IBX to read for 'fighter2t-04.pof'.
IBX-DEBUG => POF checksum: 0xe611ce17, IBX checksum: 0x5dac9e8c -- "fighter2t-04.pof"
Loading model 'fighter2t-01.pof'
IBX: Found a good IBX to read for 'fighter2t-01.pof'.
IBX-DEBUG => POF checksum: 0x1934a7e5, IBX checksum: 0xd808d8e3 -- "fighter2t-01.pof"
Loading model 'fighter2t-03.pof'
IBX: Found a good IBX to read for 'fighter2t-03.pof'.
IBX-DEBUG => POF checksum: 0xce1df975, IBX checksum: 0x37c93eb1 -- "fighter2t-03.pof"
Loading model 'fighter2t-05.pof'
IBX: Found a good IBX to read for 'fighter2t-05.pof'.
IBX-DEBUG => POF checksum: 0xc8b2f868, IBX checksum: 0x3dfad880 -- "fighter2t-05.pof"
Loading model 'fighter2s-02.pof'
IBX: Found a good IBX to read for 'fighter2s-02.pof'.
IBX-DEBUG => POF checksum: 0x85ec93bc, IBX checksum: 0xb90433ea -- "fighter2s-02.pof"
BMPMAN: Found EFF (fighter2s-02-glow.eff) with 37 frames at 25 fps.
Loading model 'Bomber2T-03.pof'
IBX: Found a good IBX to read for 'Bomber2T-03.pof'.
IBX-DEBUG => POF checksum: 0xf62d5e93, IBX checksum: 0x16ce7cf1 -- "Bomber2T-03.pof"
Loading model 'Bonus2t-01.pof'
IBX: Found a good IBX to read for 'Bonus2t-01.pof'.
IBX-DEBUG => POF checksum: 0xf10b290a, IBX checksum: 0xb56fcc23 -- "Bonus2t-01.pof"
Loading model 'bomber04.pof'
IBX: Found a good IBX to read for 'bomber04.pof'.
IBX-DEBUG => POF checksum: 0x4fac00b7, IBX checksum: 0x7ae3cbd7 -- "bomber04.pof"
Loading model 'bomber05.pof'
IBX: Found a good IBX to read for 'bomber05.pof'.
IBX-DEBUG => POF checksum: 0x1e5f9164, IBX checksum: 0x5105ed07 -- "bomber05.pof"
Loading model 'bomber09.pof'
IBX: Found a good IBX to read for 'bomber09.pof'.
IBX-DEBUG => POF checksum: 0x053ba5a8, IBX checksum: 0xd1923c7f -- "bomber09.pof"
Loading model 'bomber2t-01.pof'
IBX: Found a good IBX to read for 'bomber2t-01.pof'.
IBX-DEBUG => POF checksum: 0xbbfa68bc, IBX checksum: 0x11e25089 -- "bomber2t-01.pof"
Loading model 'fighter2v-04.pof'
IBX: Found a good IBX to read for 'fighter2v-04.pof'.
IBX-DEBUG => POF checksum: 0x035e02f1, IBX checksum: 0x75e7bb7f -- "fighter2v-04.pof"
ANI iconSD4 with size 56x24 (25.0% wasted)
ANI iconScalpel with size 56x24 (25.0% wasted)
ANI iconflail with size 56x24 (25.0% wasted)
ANI iconPromR with size 56x24 (25.0% wasted)
ANI iconPromS with size 56x24 (25.0% wasted)
ANI iconNewton with size 56x24 (25.0% wasted)
ANI iconKayser with size 56x24 (25.0% wasted)
ANI iconCirce with size 56x24 (25.0% wasted)
ANI iconLich with size 56x24 (25.0% wasted)
Loading model 'tempest_tech.pof'
IBX: Found a good IBX to read for 'tempest_tech.pof'.
IBX-DEBUG => POF checksum: 0x457ab425, IBX checksum: 0x7183bf7e -- "tempest_tech.pof"
Loading model 'newhornet_tech.pof'
IBX: Found a good IBX to read for 'newhornet_tech.pof'.
IBX-DEBUG => POF checksum: 0xe97f1fa7, IBX checksum: 0x785e23c6 -- "newhornet_tech.pof"
Loading model 'crossbow_tech.pof'
IBX: Found a good IBX to read for 'crossbow_tech.pof'.
IBX-DEBUG => POF checksum: 0x3c2d3c20, IBX checksum: 0x3ba92db3 -- "crossbow_tech.pof"
Loading model 'trebuchet_tech.pof'
IBX: Found a good IBX to read for 'trebuchet_tech.pof'.
IBX-DEBUG => POF checksum: 0xdf1a4879, IBX checksum: 0xdffb98e3 -- "trebuchet_tech.pof"
Loading model 'piranha_tech.pof'
IBX: Found a good IBX to read for 'piranha_tech.pof'.
IBX-DEBUG => POF checksum: 0x4334dee5, IBX checksum: 0xfa7523a6 -- "piranha_tech.pof"
Loading model 'stilettoII_tech.pof'
IBX: Found a good IBX to read for 'stilettoII_tech.pof'.
IBX-DEBUG => POF checksum: 0xf50214c4, IBX checksum: 0x0bb6314c -- "stilettoII_tech.pof"
Loading model 'helios_tech.pof'
IBX: Found a good IBX to read for 'helios_tech.pof'.
IBX-DEBUG => POF checksum: 0x551ec88b, IBX checksum: 0x018a4544 -- "helios_tech.pof"
Loading model 'empulse2_tech.pof'
IBX: Found a good IBX to read for 'empulse2_tech.pof'.
IBX-DEBUG => POF checksum: 0x55e483b3, IBX checksum: 0xde0bbd46 -- "empulse2_tech.pof"
Frame  0 too long!!: frametime = 57.932 (57.932)
Frame  0 too long!!: frametime = 0.622 (0.622)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  85.942
ANI shieldft-03 with size 112x93 (27.3% wasted)
ANI shieldft-03.ani with size 112x93 (27.3% wasted)
Frame  1 too long!!: frametime = 1.270 (1.270)
788 frames executed in  30.005 seconds,  26.262 frames per second.
Frame 1843 too long!!: frametime = 0.371 (0.371)
Got event GS_EVENT_END_GAME (4) in state GS_STATE_GAME_PLAY (2)
Unloading in mission messages
Frame 1844 too long!!: frametime = 0.363 (0.363)
Frame 1844 too long!!: frametime = 0.625 (0.625)
Got event GS_EVENT_QUIT_GAME (5) in state GS_STATE_MAIN_MENU (1)
Freeing all existing models...
... Log closed, Sat Feb 13 00:45:00 2010



Title: Re: Post-processing
Post by: Zacam on February 12, 2010, 06:43:05 pm
Quote
 Unable to find extension "GL_ATI_shader_texture_lod".

That's why. That is a required extension for SM3.0 in order to use shaders or post processing. You are going to have a LOT of fun finding a version of atioglxx.dll that will give you SM3.0 capabilities in OpenGL. But until then, remove -normal and -post_process from your command line options and use -no_glsl (just don't forget to remove -no_glsl if you want to test loading the MediaVP shaders, which will show up inbetween the "Using Extension" list and the "Max texture units:")

Quote
 -mipmap
Ditch this.

Quote
 -mod mediavps,mediavps
Wait, wtf? I'm pretty sure you only need one. Loading them twice doesn't make it twice as cool.
Title: Re: Post-processing
Post by: Angelus on February 12, 2010, 07:05:50 pm
Quote
 Unable to find extension "GL_ATI_shader_texture_lod".

That's why. That is a required extension for SM3.0 in order to use shaders or post processing. You are going to have a LOT of fun finding a version of atioglxx.dll that will give you SM3.0 capabilities in OpenGL. But until then, remove -normal and -post_process from your command line options and use -no_glsl (just don't forget to remove -no_glsl if you want to test loading the MediaVP shaders, which will show up inbetween the "Using Extension" list and the "Max texture units:")


Could you point me in a direction where to find that little bugger ( atioglxx.dll )?
I'm not the "lot-of-fun" kinda guy. :D

Seriously though, if anyone can point me to the right direction, that would be nice.  



EDIT: It works now, with some kind of hack-ish solution, which might ( or might not ) cause trouble in the future, but at least it works for now.
Thx to Zacam telling me what's wrong and to everyone in the irc chat, especially chief1983. :yes:
Title: Re: Post-processing
Post by: chief1983 on February 14, 2010, 03:31:33 am
Welcome.
Title: Re: Post-processing
Post by: Fury on February 28, 2010, 07:32:11 am
To anyone who knows their way around post processing. This is about set-post-effect sexp and saturation.
Quote
<HerraTohtori>: it's not that I dislike the idea, but the problem with just multiplying the saturation values globally with a percentage value is problematic because of loss of colour depth and range
<HerraTohtori>: however, if you gave it an exponent value instead, it would probably work better
<HerraTohtori>: if pixel's saturation value is 1, the resulting saturation value would be 1^n = 1
<HerraTohtori>: so full saturated pieces would stay so
<HerraTohtori>: half saturated would end up as 0.5^n, so if n>1 it would have a saturation reduction effect
Title: Re: Post-processing
Post by: Try4Ce on March 20, 2010, 06:31:32 am
The link is down. Can anybody reupload?
Title: Re: Post-processing
Post by: m!m on March 20, 2010, 06:41:06 am
If you mean the link to the PP-build then just download the 3.6.12 RC. Post processing was integrated into trunk a few weeks ago.
Title: Re: Post-processing
Post by: Fury on March 20, 2010, 06:45:58 am
Post processing has been in the trunk for months, not weeks. However, it was moved to experimental after RC1, because current implementation can cause crashes and memory leaks.
Title: Re: Post-processing
Post by: torc on May 24, 2010, 11:02:48 am
excuse me if i post this old topic but here i found all that i was searching:
i have substitute the post-f file with the others in this topic just for testing,but nothing changes: maybe i'm using the wrong build?
and for motion blur, can you tell me how to install? thanks again  :)

please respond!  :(
Title: Re: Post-processing
Post by: silverwolf on May 26, 2010, 06:04:18 pm
I've tried going with an older install now. These problems started occuring after i used the SCP 2.2 Re-release. I don't seem to have any problems now, so take my reported errors with a grain of salt.

I did find one new error, though. This happens in the Straight, No Chaser mission:
(http://h.imagehost.org/t/0643/error.jpg) (http://h.imagehost.org/view/0643/error)

Do notice the corruption on the craft itself, too. Happens the second you start, disappears, happens again, then it's gone. Oh, what the hell, I'm on a roll here: Pilot chat also seems to be missing as command starts talking to themself - *silence* "Say again pilot, another portal?"... *silence*... "Can you locate the Azrael?".

I didnt notice the pilot chat but i do get the texture corruption on occassion.  If its on a terran ship the texture corruption are mainly green and purple with turret like objects being a red.  I dont have any screenshots myself but i'll see if i can grab one later to post tomorrow to confirm if its the same issue.
Title: Re: Post-processing
Post by: pecenipicek on May 26, 2010, 07:02:55 pm
Can you post your the specifications of your rig too?
Title: Re: Post-processing
Post by: Galemp on June 17, 2010, 06:54:50 pm
Stupid question: can I configure bloom, in any way, aside from its intensity? I want to apply it to glowmaps and nothing else. :(
Title: Re: Post-processing
Post by: Woolie Wool on June 17, 2010, 07:43:20 pm
No, unfortunately. I wish Hery would come back to maintain it.
Title: Re: Post-processing
Post by: Kolgena on June 17, 2010, 10:50:08 pm
Stupid question: can I configure bloom, in any way, aside from its intensity? I want to apply it to glowmaps and nothing else. :(

Really? Not even specular shine?

But yeah, I wouldn't mind at all if he somehow could take bloom off of background nebulae and the sun flare... I hate ovoid stars.
Title: Re: Post-processing
Post by: Javito1986 on August 26, 2010, 11:30:05 pm
The download link seems to be dead! Is there an update?
Title: Re: Post-processing
Post by: Iss Mneur on August 27, 2010, 01:10:56 am
The download link seems to be dead! Is there an update?
No, not from Hery.  But, because this feature was added to the SCP SVN; this feature is available in both the official 3.6.12 release (http://www.hard-light.net/forums/index.php?topic=70692.0) and our current trunk nightly builds (http://www.hard-light.net/forums/index.php?board=173.0).
Title: Re: Post-processing
Post by: Fury on August 27, 2010, 02:30:23 am
And because Hery went AWOL, nobody is maintaining that code and fixing its bugs. It is known to cause memory leaks and crashes. If you want to use it regardless and sacrifice your anti-aliasing (needs to be forced on in your graphics card drivers), you can find the setting under Experimental features in launcher.
Title: Re: Post-processing
Post by: Mobius on August 27, 2010, 03:00:08 pm
Ouch. So the feature may be deprecated? :(
Title: Re: Post-processing
Post by: General Battuta on August 27, 2010, 03:02:21 pm
I don't think so, but it was moved to experimental where it's likely to stay.