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
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
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
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 ;)
Pushit ;)
Ich überlege noch ;)
Ich kapier's nicht.
Ich wüßt's auch gern!
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:
Schranzor das was du gepostet hast sind nur funktionen keine vollständigen files und schon gar nicht dateien die shader effekte erstellen können.
Was meinst du Held was in einer Shaderfiles drine ist :D
Functionen !
ja, aber die heissen main und so...
Kann man sich eigentlich fertige Shader irgendwo runterladen? Und falls ja, wie kann man die den eigenen Objekten zuweisen???
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
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 ;-)
Kennst du dich mit Shadern denn aus?
Dann mach doch mal einen ! ;)
Oder Gernot ... :whistle: ....
Wär doch ein tolles Feature ! :D
Ich wäre schon mit einem Standart Shader zufrieden und überhaupt mal testen, ob es funktioniert! Und danach lernen kann man immer noch!!! :cool:
Bei Samples\3D\SetShader ist einer dabei. Toon oder so...
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 :-)
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
Keine Chance. Meine Karte macht keine Shader, und vorher schreib ich keinen :p
*heul*
gernot meine 7600 go rüberschieb ;)
*Pffffffffffffffff* mal abstaub ;)
Ob jetzt was geht Gernot ? :D
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
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 ;)
Die neuen Karten können alle GLSL. Meine jetzt auch. Ich hatte noch keine Zeit für das Orange Book ;)
PLS :D
Wär ne <--------------------SO---------------------> fette Sache ;)
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.
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!
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.!!!
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.
I love Gernot :D
Ich hab mir mal den TyphoonLabs ShaderDesigner gezogen. Der macht OpenGL GLSL programmieren leicht. Funktioniert ganz gut, soweit ich das schnell abschätzen kann.
Lad ich mir auch mal schnell
Ich weiß nich mal wie so shader funktionieren. Bin ich jetzt ein Noob? Komm ich jetzt in die Krabbelgruppe?
Ne in die Vorkrabbelgruppe :D
;)
ehrlich gesagt isses mir auch egal ^^ hauptsache ich weiß wie ich schuhe anziehen kann hehe
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.