Hallo Forum,
ich habe mir Slins Raindropshader (->Gstudio/Wiki) angesehen und ausprobiert.
Soweit ok, jedoch bekomme ich beim Start einen weißen Bildschirm angezeigt schalte ich den Shader aus ist der normale Bildschirm sichtbar.
Ich muss zugeben das ich kein guter Scripter bin, es aber noch werden möchte, deswegen lerne ich ja
Nun habe ich folgenden Gedankengang gehabt und wollte mal nachfragen ob ich das richtig verstehe und wie man das umsetzen kann.
Der weiße Bildschirm kommt aus
entity PP_Quad, da wird diese Grafik zumindest definiert.
Ich denke mir das das eigentliche Bild im Hintergrund mit dem Shader bearbeitet werden muss bevor es in den sichtbaren Teil der Graka kopiert wird. (ich denke da an das Prinzip des double buffers)
Doch wie mache ich das am besten?
Oder ist der Gedankengang komplett falsch?
Code:
include <PP_DoF1.wdl>;
include <PP_Effects.wdl>;
view PP_Cam{}
entity PP_Quad
{
type = <PPE_Quad.tga>;
layer = 1;
view = camera;
x = 878;
y = 0;
z = 0;
scale_x = 1;
scale_y = 1;
}
function PP_Init_startup()
{
PP_Cam.bmap = bmap_for_entity(PP_Quad,0);
}
function PP_Init_Effect()
{
PP_Quad.material = Raindrops_mat;//Change this to the material you wish<---------------------------
Raindrops_set_Value(0,0.01);//Call here the function to set the materials values<-------------
if(PP_Quad.material == DoF_type_1_mat)
{
DoF1_Enable();
DoF_type_1_mat.skin1 = DoF1_bmap;
}
}
function PP_Toggle_OnOff()
{
if(PP_Quad.visible == on)
{
PP_Cam.visible = off;
PP_Quad.visible = off;
}else
{
PP_Cam.visible = on;
PP_Quad.visible = on;
while(PP_Quad.visible == on)
{
vec_set(PP_Cam.x,camera.x);
vec_set(PP_Cam.pan,camera.pan);
wait(1);
}
}
}
on_t = PP_Toggle_OnOff;
Danke für eure Hilfe
Lg