GLBasic forum

Other languages => GLBasic - de => Topic started by: Schranz0r on 2007-Sep-06

Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-06
Hi Gernot.

Mal angenommen ich hätte eine Glow.sha - Datei
Könnte man da was machen, um die in GLB zu bringen?

Hab sonst keine ahnung, wie ich die Textur mit Glow aufs Model bringen soll !

glow.sha
Code (glbasic) Select
void vshader(float4 vtx_position : POSITION,
             float2 vtx_texcoord0 : TEXCOORD0,
             uniform float4x4 mat_modelproj,
    out float4 l_position : POSITION,
    out float2 l_texcoord0 : TEXCOORD0)
{
l_position=mul(mat_modelproj, vtx_position);
l_texcoord0=vtx_texcoord0;
}

void fshader(float2 l_texcoord0 : TEXCOORD0,
            uniform sampler2D tex_0 : TEXUNIT0,
    out float4 o_color : COLOR)
{
float4 texColor=tex2D(tex_0, l_texcoord0);
o_color=texColor*texColor.w;
}
BlurX.sha
Code (glbasic) Select
void vshader(float4 vtx_position : POSITION,
             float2 vtx_texcoord0 : TEXCOORD0,
    out float4 l_position : POSITION,
    out float2 l_texcoord0 : TEXCOORD0,
             uniform float4x4 mat_modelproj)
{
  l_position=mul(mat_modelproj, vtx_position);
  l_texcoord0=vtx_texcoord0;
}


void fshader(float2 l_texcoord0 : TEXCOORD0,
             out float4 o_color : COLOR,
             uniform sampler2D tex_0 : TEXUNIT0)
{
  float3 offset = float3(1.0/1024.0, 5.0/1024.0, 9.0/1024.0);
  o_color =  tex2D(tex_0, float2(l_texcoord0.x - offset.z, l_texcoord0.y)) * 5.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x - offset.y, l_texcoord0.y)) * 8.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x - offset.x, l_texcoord0.y)) * 10.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x + offset.x, l_texcoord0.y)) * 10.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x + offset.y, l_texcoord0.y)) * 8.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x + offset.z, l_texcoord0.y)) * 5.0;
  o_color = o_color * 0.030;
}
BlurY.sha
Code (glbasic) Select
void vshader(float4 vtx_position : POSITION,
             float2 vtx_texcoord0 : TEXCOORD0,
             out float4 l_position : POSITION,
             out float2 l_texcoord0 : TEXCOORD0,
             uniform float4x4 mat_modelproj)
{
  l_position=mul(mat_modelproj, vtx_position);
  l_texcoord0=vtx_texcoord0;
}


void fshader(float2 l_texcoord0 : TEXCOORD0,
             out float4 o_color : COLOR,
             uniform sampler2D tex_0 : TEXUNIT0)
{
  float3 offset = float3(1.0/1024.0, 5.0/1024.0, 9.0/1024.0);
  o_color =  tex2D(tex_0, float2(l_texcoord0.x, l_texcoord0.y - offset.z)) * 5.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x, l_texcoord0.y - offset.y)) * 8.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x, l_texcoord0.y - offset.x)) * 10.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x, l_texcoord0.y + offset.x)) * 10.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x, l_texcoord0.y + offset.y)) * 8.0;
  o_color += tex2D(tex_0, float2(l_texcoord0.x, l_texcoord0.y + offset.z)) * 5.0;
  o_color = o_color * 0.030;
}
wär doch was schickes für GLBasic, sind schicke sachen ;)
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-24
Pushit ;)
Title: Glow Shader..
Post by: trucidare on 2007-Sep-24
Ich überlege noch ;)
Title: Glow Shader..
Post by: Kitty Hello on 2007-Sep-25
Ich kapier's nicht.
Title: Glow Shader..
Post by: WPShadow on 2007-Sep-25
Ich wüßt's auch gern!
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-25
Tja Gernot da sind wir ja schon mal zu zweit :D
Wie muss den der Aufbau einer Shaderdatei sein, um die mit X_SETSHADER zu setzen?
Gibts da evtl irgendwo ein Glowshader für das GLSL , mit den endungen *.vert und  *.frag :whistle:
Title: Glow Shader..
Post by: trucidare on 2007-Sep-25
Schranzor das was du gepostet hast sind nur funktionen keine vollständigen files und schon gar nicht dateien die shader effekte erstellen können.
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-25
Was meinst du Held was in einer Shaderfiles drine ist :D
Functionen !
Title: Glow Shader..
Post by: Kitty Hello on 2007-Sep-25
ja, aber die heissen main und so...
Title: Glow Shader..
Post by: WPShadow on 2007-Sep-26
Kann man sich eigentlich fertige Shader irgendwo runterladen? Und falls ja, wie kann man die den eigenen Objekten zuweisen???
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-26
Hab gesehen es gibt GLSL IDE's aber das setzt auch ein gewisses Grundwissen über GLSL vorraus!

JA laden kann man fertige W.


Setzen tut man die so:

X_LOADSHADER (id, vert,frag)
....
X_SETSHADER id
Title: Glow Shader..
Post by: Sebe on 2007-Sep-26
Shader sind eigentlich in dem Fall eh Müll. Ein unoptimierter Shader wird die Performance des ganzen Spiels runterziehen, den Gloweffekt in GLBasic zu schreiben (also die fertig gerenderten Frames vor dem Bufferswitch noch manipulieren) wird nicht annähernd so viel Performance ziehen wie ein unoptimierter Shader. Wenn ihr euch also nicht zufällig supergut mit Shadern auskennt und wisst, wie ein performanter Shader auszusehen hat, dann lasst es lieber und sucht euch Alternativen ;-)
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-26
Kennst du dich mit Shadern denn aus?
Dann mach doch mal  einen ! ;)

Oder Gernot ... :whistle: ....
Wär doch ein tolles Feature ! :D
Title: Glow Shader..
Post by: WPShadow on 2007-Sep-26
Ich wäre schon mit einem Standart Shader zufrieden und überhaupt mal testen, ob es funktioniert! Und danach lernen kann man immer noch!!! :cool:
Title: Glow Shader..
Post by: Kitty Hello on 2007-Sep-26
Bei Samples\3D\SetShader ist einer dabei. Toon oder so...
Title: Glow Shader..
Post by: Sebe on 2007-Sep-27
Nein, ich kann zwar einigermassen HLSL shader schreiben aber die laufen nicht besonders gut ;-)
GLSL kenn ich nicht und ehrlich gesagt will ich mich damit jetzt auch weniger auseinandersetzen. Diese Effekte überlasse ich lieber den Engine-Autoren, die wissen nämlich wie die Shader am optimalsten an ihre Engine angepasst werden :-)
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-27
Genau Sebe ;)

Gernot ich stelle Antrag auf einen Glow-Shader .......BIIIIIIIIITTE :D
Den brauch man ja auch in einigen Spielen .... Leuchtschilder/Reklame, Leuchtende Materialen.... und und und

\o/ Bitte erlöse uns :D
Title: Glow Shader..
Post by: Kitty Hello on 2007-Sep-27
Keine Chance. Meine Karte macht keine Shader, und vorher schreib ich keinen :p
Title: Glow Shader..
Post by: Schranz0r on 2007-Sep-27
*heul*
Title: Glow Shader..
Post by: trucidare on 2007-Sep-27
gernot meine 7600 go rüberschieb ;)
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-09
*Pffffffffffffffff* mal abstaub ;)

Ob jetzt was geht Gernot ? :D
Title: Glow Shader..
Post by: sechsrad on 2008-Mar-09
sei vorsichtig mit "GLSL" , dieses ist softwaremässig erst in opengl 2.0 ansprechbar.

ansonsten ist dieses "GLSL" hardwaremässig im grafikchip, welche nicht alle besitzen.

und dieses opengl 2.0 wird nicht überall eingebettet, machen nicht alle grafikkarten mit.

zur zeit ist glaube ich opengl 1.4.... der regelfall.

mfg
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-09
NA wo haste den Schund schon wieder her ?
Wikipedia kopierer wa.......errinnert mich wieder an einen anderen Member hier aus dem Forum, der 2 Mal im Jahr zum Klug sein aufs Forum kommt ;)
Title: Glow Shader..
Post by: Kitty Hello on 2008-Mar-09
Die neuen Karten können alle GLSL. Meine jetzt auch. Ich hatte noch keine Zeit für das Orange Book ;)
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-09
PLS :D

Wär ne <--------------------SO---------------------> fette Sache ;)
Title: Glow Shader..
Post by: sechsrad on 2008-Mar-09
QuoteNA wo haste den Schund schon wieder her ?
das ist meine eigene erfahrung, weil ich zb auf meine beiden geräte, wo verschiedene opengl-versionen und grafikkarten laufen das leidige thema verwirklichen wollte und ich wieder einen rückzieher gemacht habe.

lieber funktionsfähige programme auf beiden computern !

viele kennen das leidige thema wenn man 2 maschinen fährt, dann hat man keine lusten diese dinge 2x zu schreiben.

warum nicht die shader nehmen, die schon funktionieren . man kann die hier und da noch verfeinern ohne das glbasic dadurch wesentlich langsamer wird.
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-09
IF gedachtes_koennen < Reales_koennen
    finger_weg_von_der_Tastertur()
ENDIF

Du redest dich hier noch um Kopf und Kragen....
Ich kann mich erinnern das du mal hergekommen bist und meintest(ZITAT):

Quote from: sechsraddas kann ich nicht!!!!!!
ich brauche eine fachkraft dafür. das thema c++ und serielle schnittstelle pack ich nicht.
So, jetzt willst du mir was von Shadern erzählen, und das du das schonmal versucht hast?
Du bekommst doch net mal ein Fenster in OpenGL auf.
Sorry, jetzt mal echt, schau du lieber mal das du bei irgendwas bleibst, deine schnittstellen oder irgendwas anderes!  Weil wenn du mal in den GLBasic -de Forum nachguckst wer alles die letzten Threads aufgemacht hat, da wirds mir echt schlecht!

Erstmal selber versuchen, und wenn es dann nicht klappt kannst du schreiben!
Was aber nicht heisst das du 100 Threads in einer Woche starten sollst!
Title: Glow Shader..
Post by: trucidare on 2008-Mar-09
DAMN RIGHT!

wir haben alle mal klein angefangen mehr oder weniger können wir auch heute noch nichts aber wir fragen erst google versuchen es und dann schreiben wir ins forum. jeder hier hält sich daran nur irgendwie du nicht.

Du machst seitdem du hier bist etwas mit deinem komischen roboter. kein problem alles toll schöne idee aber du springst in deinen themen hin und her von wegen muss ja überalle gleich sein etc. pp....

ich habe in der schule KEIN!!! opengl fähigen treiber dennoch hab ich dort eine anzeige und die reicht. wenn du kompatibiliät willst dann such dir tester oder machs in c++.

Auch wenn ich mir hiermit nicht gerade freunde gemacht habe und auch ein -> Ban <- riskiere aber es nervt das du ständig irgendwas neues zu meckern hast.!!!
Title: Glow Shader..
Post by: Kitty Hello on 2008-Mar-27
OK, hier gitb's GLOB shader:
http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html
Mit dem FX Composer oder dem ATI Render Monkey kann man solche Shader erstellen. Ich werd' mich mal in den nächsten Wochen reinklemmen.
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-27
I love Gernot :D
Title: Glow Shader..
Post by: Kitty Hello on 2008-Mar-27
Ich hab mir mal den TyphoonLabs ShaderDesigner gezogen. Der macht OpenGL GLSL programmieren leicht. Funktioniert ganz gut, soweit ich das schnell abschätzen kann.
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-27
Lad ich mir auch mal schnell
Title: Glow Shader..
Post by: trucidare on 2008-Mar-27
Ich weiß nich mal wie so shader funktionieren. Bin ich jetzt ein Noob? Komm ich jetzt in die Krabbelgruppe?
Title: Glow Shader..
Post by: Schranz0r on 2008-Mar-27
Ne in die Vorkrabbelgruppe :D
Title: Glow Shader..
Post by: trucidare on 2008-Mar-27
;)
ehrlich gesagt isses mir auch egal ^^ hauptsache ich weiß wie ich schuhe anziehen kann hehe
Title: Glow Shader..
Post by: Kitty Hello on 2008-Mar-28
Shader sind eigentlich ganz einfach. Bei Vertex shadern bekommst Du für jeden Knoten alles geliefert, und darfst ihn aber auch verbiegen.
Bei Fragement (Pixel) shadern hast Du einen Pixel, und musst dem halt die Farbe geben, die er am Bildschirm haben soll. Dabei kannst Du halt alles mögliche Abfragen usw.