Thema: Cel-Shading

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Thema: Cel-Shading

Beitrag von Lebostein »

Hi,

einfach ins Blaue hinein gefragt: ist so etwas in Verbindung mit OGRE und PureBasic möglich?
http://de.wikipedia.org/wiki/Cel_Shading
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Ja es ist mit OGRE in Verbindung mit PB möglich, soviel ich weiß(Shader halt).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Es gibt einen Trick wie du einen CellShading-Effekt für ein Mesh machst, ohne irgenwelche Shader zu nutzen(Sieht aber nicht ganz so toll aus).

Also du nimmst ein Modell und dann kopierst das jetzige Modell und packst es auch an die gleiche Stelle wie das Original.
Die Kopie skallierst du jetzt nun ein wenig größer(je mehr desto dicker werden die Zeichenlinien). Die Außenflächen der Kopie werden nun unsichtbar gemacht, stattdessen machst du die Innenflächsen des Modells/Mesh Schwarz.
Fertig ist der CellShading-Effekt!

Sieht teilweise echt beeindruckend kommt jedoch an das echte Cellshading nicht ganz heran. Allerdings ist diese Technik auch in allen
Engines nutzbar, so auch OGRE-PB.
I´a dllfreak2001
Benutzeravatar
Rings
Beiträge: 977
Registriert: 29.08.2004 08:48

Re: Thema: Cel-Shading

Beitrag von Rings »

Gibts hier zu diesem Thema evtl. was neues,
hat das einmal jemand mit Purebasic hinbekommen ?
Rings hat geschrieben:ziert sich nich beim zitieren
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Re: Thema: Cel-Shading

Beitrag von xperience2003 »

hier ein standart celshader
http://www.digitalarts-egypt.com/hohohoo/TLib-Toon3.exe

hier is mein verbesserter celshader in action
(im 2. part kann man mit space abbrechen!)
http://www.digitalarts-egypt.com/hohohoo/TehToon.exe


und hier die progs ^^
vertex-programm

Code: Alles auswählen

// TLib Toonshader by jhd^daWn
varying vec3 lightDir,normal;
void main()
{
	lightDir = normalize(vec3(gl_LightSource[0].position));
	normal = gl_NormalMatrix * gl_Normal;
	gl_Position = ftransform();
} 
fragment-programm

Code: Alles auswählen

// TLib Toonshader by jhd^daWn
varying vec3 lightDir,normal;
void main()
{
	float intensity;
	vec4 color;
	// normalizing the lights position to be on the safe side
	vec3 l = normalize(vec3(gl_LightSource[0].position));
	vec3 n = normalize(normal);
	intensity = dot(l,n);
	if (intensity > 0.95)
		color = vec4(1.0,0.5,0.5,1.0);
	else if (intensity > 0.5)
		color = vec4(0.6,0.3,0.3,1.0);
	else if (intensity > 0.25)
		color = vec4(0.4,0.2,0.2,1.0);
	else
		color = vec4(0.2,0.1,0.1,1.0);
	gl_FragColor = color;
} 
weiss nich was pb-ogre fuer shader schluckt, aber man kann konverten etc


Have Fun =)
amiga rulez...
Rebirth Software
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Thema: Cel-Shading

Beitrag von DarkDragon »

Hallo,
xperience2003 hat geschrieben:weiss nich was pb-ogre fuer shader schluckt
Alle eigentlich. Aber PB OGRE ist unter Windows nur durch DirectX implementiert und unter Linux durch OpenGL, desshalb braucht man unter Windows HLSL/cG/ASM und unter Linux GLSL/cG/ASM
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Rings
Beiträge: 977
Registriert: 29.08.2004 08:48

Re: Thema: Cel-Shading

Beitrag von Rings »

ich verlinke mal aufs englische forum,

http://www.purebasic.fr/english/viewtop ... 91#p313691
Rings hat geschrieben:ziert sich nich beim zitieren
Antworten