Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
3 registered members (NewbieZorro, TipmyPip, AndrewAMD), 14,749 guests, and 7 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Spieglein, Spieglein an der Wand #389778
12/18/11 15:51
12/18/11 15:51
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
Hi Leute,
heute möchte ich mal ne Wand zum spiegel bringen. Dies soll dann so in etwa wie in einem Ballettraum aussehen.
kann jemand helfen?

Re: Spieglein, Spieglein an der Wand [Re: Icke] #389795
12/18/11 17:54
12/18/11 17:54
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
Icke selber zum Thema,
wie ich im Handbuch gerade gesehen hab is det Spigeln nur mit de Pro-Version möglich.
Aber mal im ernst. Laut der Editionsübersicht sind die einzigen unterschiede von der Pro zur Com die begrenzung der Multiplayer, der Filepacker, die Trial mode function und die unterschiede bei den Prtikeleffecten. Also warum habe ich 180,-€ investiert wenn die das Spiegeln und ganz bestimmt auch ander Dinge gar nicht dabei sind. Und viel interessanter ist die Frage was ist jetzt alles in der Com enthalten oder besser gefragt was alles nicht.

Re: Spieglein, Spieglein an der Wand [Re: Icke] #389799
12/18/11 18:02
12/18/11 18:02
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
In welchem Handbuch hast du das gelesen? Die Einschränkung stammt noch aus A5 oder A4 Zeiten.

Für Spiegel benötigst du einen separaten View, den du per view.bmap und bmap_for_entity in die Textur eines Modells zeichnest. Ein Beispiel findet sich auch in mtlFX.c, soweit ich weiß.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Spieglein, Spieglein an der Wand [Re: Superku] #389820
12/18/11 20:50
12/18/11 20:50
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
ich beziehe mich hier auf das F1-Handbuch und den Eintrag
view.portal
unter dem Punkt Edition steht ein fettes P
dies werte ich als Pro

Re: Spieglein, Spieglein an der Wand [Re: Icke] #389822
12/18/11 20:59
12/18/11 20:59
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Das ist ein uralter Befehl, soweit ich weiß.
Mach es doch einfach so, wie ich zuvor schrieb bzw. guck es dir in mtlFX.c ab. view.portal_x + Normale benötigst du ja eh nur zum Abschneiden von Objekten, die in den Spiegel hineindringen bzw. zwischen Spiegel und Spiegel-View sind. Aber auch das kann man mit Shadern und sonstigen View-Flags umgehen.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Spieglein, Spieglein an der Wand [Re: Superku] #389824
12/18/11 21:24
12/18/11 21:24
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
das mit der mtlFX.c hab ich schon probiert hier giebt es ein
fx_flor_mirrow
fx_mirrorflor
fx mirrorwater
fx_watter_mirror
das alles ist nicht wirklich ein Spiegel

vieleicht gehe ich die sache auch felsch an
zuerst erstelle ich im MED einen block in Form eines rechteckigen Spiegels
dann füge ich ihn im WED hinzu und gebe ihm in den Properties eine der o.g. Actionen
je nach Blickwinkel kann ich so gar einen Teil des Bodens in diesem Spiegel erhaschen. Leider ist die nicht der gewünschte Efeckt

Re: Spieglein, Spieglein an der Wand [Re: Icke] #389825
12/18/11 21:27
12/18/11 21:27
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Es sind nun mal auch Codes für spiegelnde Böden, die musst du schon ein wenig anpassen.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Spieglein, Spieglein an der Wand [Re: Superku] #389827
12/18/11 21:50
12/18/11 21:50
Joined: Apr 2006
Posts: 273
Germany, NRW
Meerkat Offline
Member
Meerkat  Offline
Member

Joined: Apr 2006
Posts: 273
Germany, NRW
Ich würde vermuten das Icke keine Ahnung von Shadern hat die ich übrigens auch nicht habe Superku. Ich währ grundsätzlich dafür wenn bei der Engine die Shader mal von haus aus dabei währen da wirklich nicht jeder Shader programmieren kann. laugh


http://www.gpi-studios.com

OS: Windows 7 Home Premium (64 Bit Version)
AMD Athlon 64 X2 Dual Core Processor 5200+
6gb DDR 2 - RAM
NVIDIA GeForce GTX 460
GameStudio Version A8 Commercial
Re: Spieglein, Spieglein an der Wand [Re: Meerkat] #389868
12/19/11 07:45
12/19/11 07:45
Joined: Dec 2003
Posts: 1,225
germany
gri Offline
Serious User
gri  Offline
Serious User

Joined: Dec 2003
Posts: 1,225
germany
hi,
das ganze ohne Shader...

wenn du eine zusätzliche View (also camera ins level) erzeugst, wird der Ausschnitt auf dem Bildschirm gerendert.

Code:
VIEW* xView =
{
	layer = 1;
	pos_x = 0;    // 
	pos_y = 100;
	size_x = 100;
	size_y = 100;
	flags = SHOW;
	
}



hier so kannst du die Position und die Winkel im Level setzen...also was zu sehen sein soll....in deinem Fall aus der Spiegelwand raus.
Code:
vec_set(xView.x,my.x);
vec_set(xView.pan,my.pan);



Da du ja auf eine Entity= dein Spiegelmodell und nicht in die View rendern willst brauchst du wie schon richtig gedacht ein Model.
Dein Spiegelblock sollte eine UV Map haben.
Und in seiner Action zusätzlich folgenden Code.
Code:
xView.size_x = 1024;  
xView.size_y = 1024;
xView.bmap = bmap_for_entity(my,0) ;




Viel Spaß,
gri


"Make a great game or kill it early" (Bruce Shelley, Ensemble Studios)
Re: Spieglein, Spieglein an der Wand [Re: gri] #389966
12/20/11 16:03
12/20/11 16:03
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Es ist korrekt, was gri schreibt, aber um einen Spiegel einigermaßen real zu simulieren, musst du die Kamera auch dynamisch gemäß der Ausrichtung des Spiegels positionieren.

Wie ich nun schon zweimal geschrieben habe, ist ein Code für einen spiegelnden Boden in mtlFX.c enthalten, von Shadern hab ich nichts gesagt.
Click to reveal..
Code:
#ifdef MIRROR_DEBUG
VIEW* view_mirror = { layer = 1; }
#else
VIEW* view_mirror = { layer = -1; }  // render mirror view before camera view
#endif
BMAP* bmap_mirrortarget = NULL;
var mtlfx_mirrorvisible = 0;

//Simulate a horizontal mirror by generating
//a camera view from below through the floor
function fx_mirror()
{
// do nothing if mirror is already running
	if (bmap_mirrortarget) { 
		my.material.skin2 = bmap_mirrortarget;
		return; 
	}

	bmap_mirrortarget = bmap_createblack(256,256,888);
	my.material.skin2 = bmap_mirrortarget;
	view_mirror.bmap = bmap_mirrortarget;
	view_mirror.size_x = bmap_width(view_mirror.bmap);
	view_mirror.size_y = bmap_height(view_mirror.bmap);

	vec_set(view_mirror.pnormal_x,vector(0,0,1.0));	// reflect upwards
	set(view_mirror,NOSHADOW|NOCULL|PORTALCLIP);	
// suppress shadows in the mirror, look through walls, and clip at portal plane

//enable: Suppress FLAG1 in mirror
//help: Don't display FLAG1 objects in the mirror views
//id: 23
	set(view_mirror,NOFLAG1);	// suppress all entities with flag1 set

//enable: Suppress particles in mirror
//help: Don't display particles in the mirror views
//id: 24
	set(view_mirror,NOPARTICLE);

//enable: Suppress shaders in mirror
//help: Don't render material effects in the mirror views
//id: 25
	set(view_mirror,NOSHADER);

	while (bmap_mirrortarget)
	{
		proc_mode = PROC_LATE;	// camera must be moved and mtlfx_mirrorvisible set before
		if (mtlfx_mirrorvisible) 
		{ 
			set(view_mirror,SHOW);
			view_mirror.genius = camera.genius;
			view_mirror.aspect = (screen_size.x/screen_size.y)*camera.aspect; // 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 * 0.5;
			view_mirror.clip_near = camera.clip_near * 2;
			view_mirror.x 	   = camera.x;
			view_mirror.y 	   = camera.y;
			view_mirror.z 	   = 2*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;
		}
		else { 
// switch rendering off when all mirror objects are outside the frustum
			reset(view_mirror,SHOW); 
		}
		mtlfx_mirrorvisible = 0;

#ifdef MIRROR_DEBUG
		if (key_f11) {	// debugging - make mirror visible onscreen
			view_mirror.bmap = NULL;
		} else {
			view_mirror.bmap = bmap_mirrortarget;
		}	
#endif
		wait(1);
	}
}



Die Default-Auflösung des benutzten Targets (der Bitmap bmap_mirrortarget) ist etwas erbärmlich, die solltest du/ ihr auf jeden Fall erhöhen.
Wie schon gesagt, musst du dann die Position von view_mirror entsprechend anpassen, um einen vertikalen Spiegel zu erhalten.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | 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