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

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

21

04.01.2014, 00:50

Also einfach tex2Dlot anstatt tex2D.

Tex2dlot hat als Texturekordinaten Parameter aber ein float4 wert.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

22

04.01.2014, 01:14

Tex2dlot hat als Texturekordinaten Parameter aber ein float4 wert.

Und ein Blick in die Dokumentation wird dir verraten, was dieser genau tut... ;)

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

23

04.01.2014, 09:39

Ok. Ich erkundige mich.

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

24

04.01.2014, 17:24

Ich habe gelesen, dass man die Funktion Tex2DLot nur in D3D10 oder höher verwenden kann.

Stimmt das?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

25

04.01.2014, 17:32

Ich habe gelesen, dass man die Funktion Tex2DLot nur in D3D10 oder höher verwenden kann.

Stimmt das?

Nein, allerdings nur in Shader Model 3. In Direct3D 10+ verwendet man diese tex*() Funktionen in der Regel überhaupt nicht.

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

26

04.01.2014, 18:32

OK. Ich veröffentliche nun meine Ergebnisse.

ein Veränderung des Terrains habe ich nicht feststellen können.

HIER der HLSL-VertexShader

HLSL-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
VS_OUTPUT VertexShader_Main(VS_INPUT IN)
{

VS_OUTPUT OUTPUT = (VS_OUTPUT) (0);

float4        TEX = float4(IN.TexCords, 0, 0) ;                                    // Texturekordinaten. {Mipmap -Level 0 [TEX.w]}


float4x4    WorldView       = mul(World, View);                                  // World * View
float4x4    MATRIX           = mul(WorldView, Prj);                             // World * View * Prj
float4        High_Map        = tex2Dlod(Main_sp,TEX );                        // Terrain-Map (High-Map)
float4        Position           = {0.0, 0.0, 0.0, 0.0};                               // Vertexposition

Position.y = High_Map.x;                                                                // Vertex verschieben                                                                  
Position = mul(IN.Position, MATRIX);                                              // Transformieren


OUTPUT.Position = Position;                                                             // Werte der OUTPUT-Struktur geben
OUTPUT.Diffuse  = IN.Diffuse;
OUTPUT.TexCords = IN.TexCords;


return OUTPUT;

}



Algemeine Informationen

Verwendetes Pixel/Vertex-shader Model -> 3.0
Terrain-Model (Mesh) Auflösung -> 20 x 20
High-Map Auflösung -> 20 x 20



Ich habe wegen der Texturekordinaten folgendes heraus gefunden. jedoch klappt es nicht.

man sollte es so ausfüllen. Oder?
TEX.x = Texcord.x
TEX.y = Texcord.y
TEX.z = 0
TEX.w= 0 //mipmap Level

Cranberry

Treue Seele

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

27

04.01.2014, 18:43

Ich will hier nicht klugscheissern aber das heißt doch heightmap und nicht highmap.

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

28

04.01.2014, 18:49

Ich dachte weil

high = Hoch.

es ist doch eine höhenkarte. oder?

naja wie auch immer.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

29

04.01.2014, 18:52

Es heißt heightmap...

high = hoch (Adjektiv)
height = Höhe (Nomen)

;)


Ich habe wegen der Texturekordinaten folgendes heraus gefunden. jedoch klappt es nicht.

man sollte es so ausfüllen. Oder?
TEX.x = Texcord.x
TEX.y = Texcord.y
TEX.z = 0
TEX.w= 0 //mipmap Level

Ja, das schaut richtig aus. Was genau "klappt nicht"?

  • »Sebastian Müller« ist der Autor dieses Themas

Beiträge: 369

Wohnort: Freilingen [Rheinland-Pfalz]

Beruf: Schüler

  • Private Nachricht senden

30

04.01.2014, 18:53

Das Terrain wird nicht verändert.

Werbeanzeige