Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.06.2008, 20:03

Pixel + Vertex Shader?

Ich versuche mich gerade ein wenig in die Irrlicht Engine ein zu arbeiten, leider fehlen noh einige Funktionen wie fürs Multitexturieren... Nun wurde mir gesagt das man so etwas am besten mit Shadern macht, nur leider habe ih eine Ahnung von Shadern und die Tutorials die ich im Internet zu haufenweise finde helfen mir auch nicht weiter, darum stelle ih einfach hier mal ein paar Fragen:

1. Welche Programme brauche ich alles?
2. Kennt ihr gute deutshe Tutorials für Anfänger?
3. Ist es damit wirklih möglih Multitexturing zu machen?
4. Wie lange dürfte es dauern bis ich mit HLSL Multitexturing in mein Terrain einbauen kann?

Ih hoffe Ihr könnt mir weiterhelfen!

2

18.06.2008, 20:31

Diesmal ohne Sternchen :)

1. Eigentlich brauchst du (außer deiner Entwicklungsumgebung und ggf. DX SDK) nichts weiter.
2. Kenne leider nur englische Tuts
3. Ja ist es
4. Kommt auf deine vorhandenen Kenntnisse an. Wäre gut, wenn du dich bereits mit der Theorie des Multitexturing (relativ leicht) auskennst

Die Irrlicht Engine sollte doch so Basics wie Multitexturing beherrschen?

3

18.06.2008, 20:34

Ja mit dem Grundprinziep kenne ich mich eigentlich ganz gut aus, nur verstehe ich die chematik von Shadern nicht. Ich sehe da nur nen paar variablen wo ein paar Werte geändert werden und mehr nicht :/

Ich denke das Englische Tuts auch weiterhelfen würden :/

4

18.06.2008, 20:53

Basics Tutorial:

Simple Vertex und Pixel Shader

Eine Einführung

Demos/Samples:

codesampler.com

ultimategameprogramming.com

Meine Empfehlung ist aber ein gutes Fachbuch zum Thema. ;)

5

18.06.2008, 21:03

Ja daran habe ich auch schon gedacht! Aber welches, natürlich sollte es für Directx 9.0c sein, und als IDE vsc++

6

18.06.2008, 21:11

Hmm, schon tacht das erste problem auf, wie speichere ich vsh und psh dateien?

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

7

18.06.2008, 21:16

Die Shader sind unabhängig von der VC-Ide. Es gibt höchstens Extra IDEs für Shader in denem man diese gleich testen kann.

Es sind einfach nur Textdateien denen man die entsprechende Endung gibt - diese ist aber für das Ausführende Programm natürlich egal, dem interessiert nur was drin steht.
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

8

18.06.2008, 21:20

naja, man kann sowas wie google, live etc... benutzen um tuts zu finden. sowas gibt es wie sand im meer. englisch sollte man als progger wieso halbwegs beheerschen. das mit dem programm findet man auch ganz schnell per suchmaschine raus und man kann mit shadern alles machen und noch mehr, was mit ner fixedfunction pipeline geht.

9

18.06.2008, 21:37

Ja ich scheine da langsam durch zu blicken :)

Also, ich benutze fx files, obwohl es ja wie gesagt egal ist was hinten dran steht, aber sone fx File sieht viel schöner aus als eine Textdatei^^

Nunja, ich habe aber trotzdem da mal ein paar fragen ...

Quellcode

1
2
3
4
5
struct VS_INPUT
{
    float3 position : POSITION;
    float2 texture0 : TEXCOORD0;
};


Nur zur verständnis: mit float3 sage ich das es dich um einen 3 Dmensionalen Vector handelt und mit float2 das es ein 2 dimensionaler Vector ist. position ist die Variable in der Shader Datei, also nur um mit den Werten im Shader herum zu hantieren. genauso ist auch texture0 solch eine Variable. Nach dem " : " folgt die Variable, die der Shader sich aus dem Programm holt. Also ist zum Beispiel im Programm die variable POSITION, dann wird im shader die Variable position = POSITION gesetzt. TEXCOORD0 ist ebendsolch eine Variable. Wegen der übersicht schreibt man die Internen variablen, also die die nur im Shader sind klein und die die man sich von Außen holt groß!

ich habe mir on Codesampler ein Beispiel runtergeladen und mir den Sourcecode mal angesehen, das ist die eizige Logi die ich daraus schlussfolgern kann. Liege ich da in etwa richtig?

10

18.06.2008, 22:10

Nicht ganz. Die Angabe nach dem Doppelpunkt nennt man Semantik.
Damit teilt man dem Shader u.a. mit, mit welchen Daten er es zu tun hat.
Z.B. Texturkoordinaten, Farben oder Positionsangaben.

C-/C++-Quelltext

1
2
// float3, Variablenname, Verwendung 

float3 DeinePosVariable : POSITION;


http://msdn.microsoft.com/en-us/library/bb509647(VS.85).aspx

Werbeanzeige