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
2 registered members (TipmyPip, AndrewAMD), 12,726 guests, and 5 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
Wiki-ToonShader hat einen Fehler? #86712
08/19/06 15:03
08/19/06 15:03
Joined: Dec 2004
Posts: 1,509
München
anarchie2199 Offline OP
Serious User
anarchie2199  Offline OP
Serious User

Joined: Dec 2004
Posts: 1,509
München
Habe heute die ersten Shader zum laufen gebracht (hab endlich 6.31 ) und habe die 2 Toonshader vom Wiki ausprobiert. Der erste hat einen Fehler wenn ich mich nicht irre (siehe Bilder), der zweite sagte mir noch etwas weniger zu als der erste.









Zwischen der gezeichneten Linie und dem Modell fehlt ein wenig Füllmasse wie mir scheint, dies scheint ausschließlich unterhalb, eigentlich nie seitlich oder oberhalb der Polygone vorzukommen.

Nun wollte ich fragen ob dieser Fehler schon bekannt ist und möglicherweise schon bereinigt wurde. Und falls nicht, ob mir jemand unter die Arme greifen könnte?

Hier der Code:

Quote:

bmap bmp_toonlookup=<toonlookup.tga>;

material mtl_toon
{
skin1=bmp_toonlookup;
effect =
"
matrix matWorldViewProj;
matrix matWorld;vector vecSunDir;
texture entSkin1;texture mtlSkin1;
technique t0{
pass p0 // shade it
{
zwriteenable= true;
zenable = true;
Texture[0]=<mtlSkin1>;
ColorOp[0]=Modulate;
ColorArg1[0]=Texture;
ColorArg2[0]=Texture;
AddressU[0]=Clamp;
AddressV[0]=Clamp;
AddressW[0]=Clamp;
TexCoordIndex[0]=0;
Texture[1]=<entSkin1>;
ColorOp[1]=Modulate;
ColorArg1[1]=Texture;
ColorArg2[1]=Current;
TexCoordIndex[1]=1;
VertexShaderConstant[0] = <matWorldViewProj>;
VertexShaderConstant[4] = <matWorld>;
VertexShaderConstant[7] = <vecSunDir>;

VertexShader = asm
{
vs_1_0
dcl_position v0
dcl_normal v3
dcl_texcoord0 v7
dcl_texcoord1 v8
mov oT2.xy, v7
dp4 oPos.x, c0, v0
dp4 oPos.y, c1, v0
dp4 oPos.z, c2, v0
dp4 oPos.w, c3, v0
dp3 r0.x, c4.xyz, v3.xyz
dp3 r0.y, c5.xyz, v3.xyz
dp3 r0.z, c6.xyz, v3.xyz
dp3 oT0.x, r0.xyz, -c7.xyz
mov oT1.xyz, v8
};
}
pass p1 // ink it
{
CULLMODE=CW;
vertexShaderConstant[0]=<matWorldViewProj>;
vertexShaderConstant[16]=0.3; // outline thickness
vertexShader = asm
{
vs_1_0
dcl_position v0
dcl_normal v3
dcl_texcoord v7
mov r0,v0
mul r1,c16.x,v3
// Scale the normal
add r0.xyz,r0.xyz,r1.xyz
m4x4 oPos,r0,c0
// Transorm position to clip space
mov oD0, c0
mov r0,c0
};
}
}
";
}

action toon
{
my.material=mtl_toon;
}







Ich habe über die Suche auch alles nachgesehen, was in den letzten 2 Jahren mit Toonshader zu tun hatte - habe aber leider nichts Interessantes gefunden.

Ich habe auch nichts dagegen, wenn es noch andere Toonshader gibt und die hier genannt werden würden. ;-)


MFG,
Punker.


aktuelle Projekte: Medizinstudium
Re: Wiki-ToonShader hat einen Fehler? [Re: anarchie2199] #86713
08/19/06 17:09
08/19/06 17:09
Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
T
TWO Offline

Serious User
TWO  Offline

Serious User
T

Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
Nun ja, dass ist mehr oder weniger normal. Und ich denke auch nicht dass man dass ohne größeren Aufwand eliminieren kann

Re: Wiki-ToonShader hat einen Fehler? [Re: anarchie2199] #86714
08/19/06 17:43
08/19/06 17:43
Joined: Nov 2000
Posts: 1,534
hamburg
Samb Offline
Serious User
Samb  Offline
Serious User

Joined: Nov 2000
Posts: 1,534
hamburg
1. würde ich den toon shader nicht auf objekte verwenden, das sieht grässlich aus
2. wenn doch, dann schalte die aussenlinien aus.
sowieso sehen cartoonartige spiele, ohne diese polygon invertieren technik, besser aus.

Re: Wiki-ToonShader hat einen Fehler? [Re: Samb] #86715
08/19/06 23:24
08/19/06 23:24
Joined: Dec 2000
Posts: 4,608
mk_1 Offline

Expert
mk_1  Offline

Expert

Joined: Dec 2000
Posts: 4,608
Da stimme ich samb zu. Diesen outlining-Fehler kann man nicht beheben und jede Alternative (nämlich das Finden von Kanten über Normalen) kostet dermaßen viel Performance, dass man es lieber sein lässt.


Follow me on twitter
Re: Wiki-ToonShader hat einen Fehler? [Re: mk_1] #86716
08/20/06 10:27
08/20/06 10:27
Joined: Dec 2004
Posts: 1,509
München
anarchie2199 Offline OP
Serious User
anarchie2199  Offline OP
Serious User

Joined: Dec 2004
Posts: 1,509
München
Hmm, Danke für die Antworten, aber die Fehler treten eben nur (und auch da nicht immer!) unterhalb auf, seitlich und oberhalb funktioniert der Code ja. Das macht mich etwas stutzig.

Quote:

1. würde ich den toon shader nicht auf objekte verwenden, das sieht grässlich aus
2. wenn doch, dann schalte die aussenlinien aus.
sowieso sehen cartoonartige spiele, ohne diese polygon invertieren technik, besser aus.




Kann ich nicht sagen - mit ein paar angepassten Modellen sieht das sehr sehr gut aus!


P.S.: Gibt es eine einfache Möglichkeit das ganze Material (nicht über die Textur) heller zu gestalten? (über einen Vector mit RGB-Werten z.B.)


Danke,
Punker.


aktuelle Projekte: Medizinstudium
Re: Wiki-ToonShader hat einen Fehler? [Re: anarchie2199] #86717
08/20/06 11:43
08/20/06 11:43
Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
T
TWO Offline

Serious User
TWO  Offline

Serious User
T

Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
ColorOp[1]=Modulate;

zu

ColorOp[1]=Modulate2x;

oder

ColorOp[1]=Modulate4x;

Re: Wiki-ToonShader hat einen Fehler? [Re: TWO] #86718
08/21/06 08:01
08/21/06 08:01
Joined: Dec 2004
Posts: 1,509
München
anarchie2199 Offline OP
Serious User
anarchie2199  Offline OP
Serious User

Joined: Dec 2004
Posts: 1,509
München
Quote:

ColorOp[1]=Modulate;

zu

ColorOp[1]=Modulate2x;

oder

ColorOp[1]=Modulate4x;





Vielen Dank, hast 5 Sterne bekommen. ;-)

Noch eine letzte Frage:

http://www.coniserver.net/wiki/index.php/Shaders

Auf der Wiki-Seite ganz unten gibt es noch diese Links:

Fundamentals of vertex shaders
Programming vertex shaders
Fundamentals of pixel shaders
Programming pixel shaders


Hat sich da schonmal einer durchgearbeitet? Lernt man d aauch 1-2 Befehle kennen die man gleich nutzen kann? Ich würd gern selbst schon ein wenig rumprobieren...


MFG,
Punker.


aktuelle Projekte: Medizinstudium
Re: Wiki-ToonShader hat einen Fehler? [Re: anarchie2199] #86719
08/21/06 19:54
08/21/06 19:54
Joined: Dec 2000
Posts: 4,608
mk_1 Offline

Expert
mk_1  Offline

Expert

Joined: Dec 2000
Posts: 4,608
Versuch mal, einfach nur aus simplen FFP-Effekten zu lernen. So schwer sind die gar nicht, wenn man sich das mal genau anguckt. Im Prinzip:
ein oder mehrere Argumente (ColorArg1, ColorArg2), eine Operator (ColorOp) und die ein oder anderen Zusatzsachen. Die Zahl in den Klammern ist der texture stage. Mal nen simples Beispiel:

Code:

texture entSkin1; // entSkin1 deklarieren
technique deine_technique {
Texture[0] = <entSkin1>; // entSkin1 ist die Textur des 1. texture stage
pass p0 {
ColorArg1[0] = Texture; // Argument1 nutzt die Texture des ersten Texture stage
ColorOp[0] = SelectArg1; // einfach nur das erste Argument verwenden
}
}



Hier wird im Prinzip einfach nur Skin1 der Entity genommen und gerendert. Das sollte dir einen Start für simple ffp-Effekte geben. Mit ffp kannst du immerhin schon multitexturing verwenden. Vertex- und Pixelshader wären dann ne andere Sache. Schreib mich an, wenn du Fragen hast.


Follow me on twitter
Re: Wiki-ToonShader hat einen Fehler? [Re: anarchie2199] #86720
08/22/06 06:01
08/22/06 06:01
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Machinery_Frank Offline
Senior Expert
Machinery_Frank  Offline
Senior Expert

Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Quote:

Auf der Wiki-Seite ganz unten gibt es noch diese Links:

Fundamentals of vertex shaders
Programming vertex shaders
Fundamentals of pixel shaders
Programming pixel shaders


Hat sich da schonmal einer durchgearbeitet? Lernt man d aauch 1-2 Befehle kennen die man gleich nutzen kann? Ich würd gern selbst schon ein wenig rumprobieren...


MFG,
Punker.




Ich habe mir das mal angeschaut. Die sind interessant. Das Problem ist halt, die sind schon wieder etwas älter und beschreiben DX8.1 und ASM Shader. Der Autor (Herr Engel) hat ja in seinem Buch ShaderX2 auch HLSL Shader für DX9 beschrieben, das vielleicht etwas aktueller ist. Allerdings werden einige grafische Grundlagen in den oben genannten (alten) Artikeln erwähnt, die wieder in dem neueren Buch zu kurz kommen.

Liebe Grüße,
Frank


Models, Textures and Games from Dexsoft
Re: Wiki-ToonShader hat einen Fehler? [Re: Machinery_Frank] #86721
08/23/06 19:21
08/23/06 19:21
Joined: Dec 2004
Posts: 1,509
München
anarchie2199 Offline OP
Serious User
anarchie2199  Offline OP
Serious User

Joined: Dec 2004
Posts: 1,509
München
Ich Danke euch beiden.

@ mk_1: Danke, auf Angebot werde ich sicher zu einem späteren Zeitpunkt zurückkommen.


MFG,
Punker.


aktuelle Projekte: Medizinstudium

Moderated by  Blink, Hummel, Superku 

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