Gamestudio Links
Zorro Links
Newest Posts
loading historical data 1st time
by AndrewAMD. 04/14/23 12:54
Trade at bar open
by juanex. 04/13/23 19:43
Bug in Highpass2 filter
by rki. 04/13/23 09:54
Adding Limit Orders For IB
by scatters. 04/11/23 16:16
FisherN
by rki. 04/11/23 08:38
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
3 registered members (AndrewAMD, juanex, Grant), 1,018 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
rki, FranzIII, indonesiae, The_Judge, storrealba
18919 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Verwendung der Shader von Wiki #190040
03/23/08 19:11
03/23/08 19:11
Joined: Jan 2008
Posts: 353
G
grinseengel Offline OP
Senior Member
grinseengel  Offline OP
Senior Member
G

Joined: Jan 2008
Posts: 353
Hallo,

unter Wiki habe ich einige Shader gefunden. Laut Beschreibung sollen die für alle 3dgs Versionen funktionieren. Das verwundert mich etwas, weil im Produktblatt zur A6 Engine steht, dass dies erst ab der Commercial Version möglich sein soll.

Ich habe das mit meiner Version ausprobiert (A6 Extra) und habe einen Error in Effect erhalten.

Ist es denn wirklich möglich auch mit der A6 Extra Shaders zu verwenden


http://www.3dgs-hobbyschmiede.de

Re: Verwendung der Shader von Wiki [Re: grinseengel] #190041
03/25/08 11:04
03/25/08 11:04
Joined: Jun 2005
Posts: 4,875
broozar Offline
Expert
broozar  Offline
Expert

Joined: Jun 2005
Posts: 4,875
die shader funktionieren nur mit a6 commercial oder pro. es gibt jedoch einen wassershader, der sich auf FFE stützt, der auch mit der extra funktioniert. einen hinweis auf den von dir ins auge gefassten shader wäre natürlich hilfreich...

Re: Verwendung der Shader von Wiki [Re: broozar] #190042
03/25/08 18:31
03/25/08 18:31
Joined: Jan 2008
Posts: 353
G
grinseengel Offline OP
Senior Member
grinseengel  Offline OP
Senior Member
G

Joined: Jan 2008
Posts: 353
Hallo broozar,

danke für deine Antwort. Lt. datenblatt von Conitec hätte ich darüber auch nicht weiter nachgedacht. Bezüglich des von mir genannten Shaders aus dem WIKI-Bereich habe ich dir mal den folgenden Link eingestellt. Da steht geeignet für alle 3DGS Versionen.

http://www.coniserver.net/wiki/index.php...DGS_Editions.29

Gruß, grinseengel


http://www.3dgs-hobbyschmiede.de

Re: Verwendung der Shader von Wiki [Re: grinseengel] #201121
04/07/08 04:14
04/07/08 04:14
Joined: Jan 2008
Posts: 353
G
grinseengel Offline OP
Senior Member
grinseengel  Offline OP
Senior Member
G

Joined: Jan 2008
Posts: 353
Hallo,

ich verwende einen Shader zur Wasserreflexion. Da ich nur die Version A 6.6 Extra besitze funktioniert das nur durch einen Fixed function effect. Ich besitze einen Widescreen TFT. Dadurch treten am linken und rechten Bildschirmrand Grafikfehler auf (die Reflexion wird in die Länge gezogen). Liegt das daran, dass das Plugin für das Texturerendering auf das Format 4x3 erstellt wurde, oder kann man im Script da noch etwas verändern. Es handelt sich dabei um folgendes Script:

 Quote:
//use Render2Texture Dll by ChrisB
plugindir "."; //Comment this part
dllfunction r2T_eventSky(); //out if your
dllfunction r2T_eventEntities(); //3DGS edition
render_sky = r2T_eventSky; //supports
render_entities = r2T_eventEntities; //render to texture.
//

bmap waterbump = <waves.jpg>;
//bmap envspec = <sky.tga>;

function mtl_ffpwater_event();

material mtl_ffpwater
{
skin1=waterbump;
// skin2=envspec;

event = mtl_ffpwater_event;
effect = "water.fx";
}

function mtl_ffpwater_event()
{
while(1)
{
//Lets make it scroll in some direction
mtl_ffpwater.skill1 += 0.1*time_step; //Move the water along the x axis with the given speed
mtl_ffpwater.skill2 += 0.1*time_step; //Move the water along the y axis with the given speed
mtl_ffpwater.matrix31 = floatd(sin(mtl_ffpwater.skill1)*100000,40000);
mtl_ffpwater.matrix32 = floatd(cos(mtl_ffpwater.skill2)*100000,40000);
wait(1);
}
}

VIEW view_mirror { layer = -1; }; // render mirror view before camera view
BMAP* bmap_mirrortarget;
//panel rtt{flags = visible;}

function fx_mirror()
{
// do nothing if mirror is already running
if (bmap_mirrortarget) { return; }

bmap_mirrortarget = bmap_createblack(512,512,888);
mtl_ffpwater.skin2 = bmap_mirrortarget;
view_mirror.bmap = bmap_mirrortarget;
view_mirror.size_x = bmap_width(bmap_mirrortarget);
view_mirror.size_y = bmap_height(bmap_mirrortarget);
// rtt.bmap = bmap_mirrortarget;

// vec_set(view_mirror.portal_x,my.x);
// vec_add(view_mirror.portal_x,vector(0,0,0));
// vec_set(view_mirror.pnormal_x,vector(0,0,1.0)); // reflect upwards
// view_mirror.portalclip = on; // clip at portal plane

view_mirror.noshadow = on; // suppress shadows in the mirror
// view_mirror.nocull = on; // view through walls
view_mirror.noparticle = on;
// view_mirror.noshader = on;

view_mirror.visible = on;

while (bmap_mirrortarget)
{
proc_late(); // camera must be moved and mtlfx_mirrorvisible set before

// view_mirror.aspect = 1;//1024/768; // screen aspect, independent of render target
view_mirror.arc = camera.arc;
view_mirror.fog_start = camera.fog_start;
view_mirror.fog_end = camera.fog_end;
view_mirror.clip_far = camera.clip_far;
view_mirror.clip_near = camera.clip_near;
view_mirror.x = camera.x;
view_mirror.y = camera.y;
view_mirror.z = 2*my.z-camera.z;//view_mirror.portal_z-camera.z; // move the camera at its mirror position
view_mirror.pan = camera.pan;
view_mirror.tilt = -camera.tilt; // flip the vertical camera angle
view_mirror.roll = -camera.roll;

wait(1);
}
}

action Water
{
mtl_ffpwater.matrix11 = float(100); //Tilefactor of the Bumpmap in x direction
mtl_ffpwater.matrix22 = float(100); //Tilefactor of the Bumpmap in y direction

bmap_to_mipmap(mtl_ffpwater.skin1);
// bmap_to_mipmap(mtl_ffpwater.skin2);

my.material = mtl_ffpwater;
fx_mirror();
}

--------------------------------------------------------------------------------

Create an other file with the following code and save it as water.fx:

////////////////////////////////////////////////////////
// Environment Mapping Bump Mapping Water
//
// Version 2
//
// Eric Hendrickson-Lambert (Steempipe)
//
////////////////////////////////////////////////////////

matrix matMtl;

texture mtlSkin1;
texture mtlSkin2;

technique makewater2
{
pass p0
{
AlphaBlendEnable=false;
Zenable = True;
ZwriteEnable = True;

BlendOp=Add;
Lighting=True;

Texture[0] = <mtlSkin1>;
Texture[1] = <mtlSkin2>;

magFilter[0] = linear;
minFilter[0] = linear;
mipFilter[0] = linear;

COLOROP[0] = BumpEnvMap;
COLORARG1[0] = Texture;
COLORARG2[0] = Current;

TexCoordIndex[0] = 1;
TextureTransformFlags[0] = Count2;
TextureTransform[0] = <matMtl>;


magFilter[1] = Linear;
minFilter[1] = Linear;
mipFilter[1] = Linear;

AddressU[1] = Clamp;
AddressV[1] = Clamp;

ColorOp[1] = Modulate; //Modulate/AddSigned/Modulate2x/Modulate4x/Add <----------This looks all okay
ColorArg1[1] = Texture;
ColorArg2[1] = Current;

texcoordindex[1] = cameraspaceposition | 1; // For cubemap use: cameraspacereflectionvector
TextureTransformFlags[1] = count3 | projected;
TextureTransform[1] = {
0.8, 0.0, 0.0, 0.0,//u-scale of lake rgb texture CHANGE THIS TO YOUR NEEDS!
0.0, 1.0, 0.0, 0.0,//v-scale of lake rgb texture CHANGE THIS TO YOUR NEEDS!
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
};
}
}

//technique fallback { pass p0 { } }


Vielen Dank für eure Hilfe.

Gruß, grinseengel

http://www.3dgs-hobbyschmiede.de


Moderated by  Blink, Hummel, Superku 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1