Du bist nicht angemeldet.

Werbeanzeige

dot

Supermoderator

Beiträge: 9 833

Wohnort: Graz

  • Private Nachricht senden

11

31.08.2012, 12:46

Was genau für Header fehlen dir denn? Was genau meinst du mit "DX11 ist bereits installiert"? Welche Version von Visual Studio benutzt du?

12

31.08.2012, 13:07

Also fehlen tun mir aktuell d3dx9.h und die gnaze Palette auf die dieser header verweist also

#include "d3d9.h"
#include "d3dx9math.h"
#include "d3dx9core.h"
#include "d3dx9xof.h"
#include "d3dx9mesh.h"
#include "d3dx9shader.h"
#include "d3dx9effect.h"
#include "d3dx9tex.h"
#include "d3dx9shape.h"
#include "d3dx9anim.h"


hab mir die alle ausm Internet zusammengesucht und aktuell meckert er rum das die d3dx9.lib nicht geöffnet werden kann.

Ich vermute einfach mal das hier das DirectX9 SDK fehlt. Den die grundlegende DX Version 11 ist schon installiert und ich kann das Beispiel auch ausführen nur nicht compalieren.

Muss mal zur IT gehen udn drim bitten das das SDk installiert wird, auf Arbeitsrechnern darf man ja net selbst rumfummeln. :D

Aktuell nutze ich microsoft Visual Studio 2008 habe aber auch Microsoft Visual c++ 2010 auf der Platte.

dot

Supermoderator

Beiträge: 9 833

Wohnort: Graz

  • Private Nachricht senden

13

31.08.2012, 13:14

Direct3D ist eine Systemkomponente und ist damit immer installiert. Aber die Header und Libs, die man braucht, um Direct3D Anwendungen zu entwickeln, sind natürlich nicht immer installiert. Die kommen mit dem DirectX SDK bzw. sind mittlerweile (seit Windows 8 ) Teil des Windows SDK. In deinem Fall würde ich dir wohl dazu raten, das letzte DirectX SDK zu installieren.

14

31.08.2012, 14:35

Auf jedenfall schonmal danke für eure Hilfe. Hier fühlt man sich als Anfänger echt wohl. Hab es schonmal in anderen Foren probiert, da wurde ich aber nachdem man sich aufgeregt hat das ich als "Anfänger" mit CUDA arbeite, ziemlich ignoriert. :)

Freu mich da schon richtig auf den kram mit der Engine. :)

Also hab jetzt das SDk installieren lassen und funktioniert auch super nun stellt er alles ohne Fehler da.

Jetzt muss nur noch die Formel angepasst werden damit es rund läuft. Und wie sollte es anders sein hab ich ein paar Fragen dazu. :ninja:


Formel von dem Beispiel:
float w = sinf(u*freq + time) * cosf(v*freq + time) * 0.5f;

Meine Formel:
float w = ((150 - z1 / 10) / 150) * (sin((x1+ 530) / 500) * cos(y1 / 2000)) * (255 / 2))

Z1 ist bei mir die Zeit, x1 ist x und y1 halt y

Der relevante Quellcode vom Beispiel:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
__global__ void kernel( float4* pos, unsigned int width, unsigned int height, float time)
{
unsigned int x = blockIdx.x*blockDim.x + threadIdx.x;
unsigned int y = blockIdx.y*blockDim.y + threadIdx.y;

// calculate uv coordinates
float u = x / (float) width;
float v = y / (float) height;
u = u*2.0f - 1.0f;
v = v*2.0f - 1.0f;

// calculate simple sine wave pattern
float freq = 4.0f;
float w = sinf(u*freq + time) * cosf(v*freq + time) * 0.5f;



// write output vertex
pos[y*width+x] = make_float4(u, w, v, __int_as_float(0xff00ff00));
}


Die Frage ist nun ,was ist wohl einfacher. Meine Formel auf das Beispiel oder die Formel vom Beispiel auf mein CUDA Programm zu übertragen. :D

Was ich persönlich nicht verstehe wo ist der unterschied zwischen sin und sinf. :hmm:


Edit:
Auh auf die Gefahr hin zu nerven:
Das Programm meint auf einmal bestimmte Header nicht mehr finden zu können:

Fehler 2 fatal error C1083: Datei (Include) kann nicht geöffnet werden: "rendercheck_d3d9.h": No such file or directory c:\Users\dettmant\Documents\Visual Studio 2008\Projects\simpleD3D9\simpleD3D9.cpp 32 simpleD3D9


Dabei habe ich an den headern garnix verändert nur die Formel etwas abgewandelt und den Titel geändert. Vorhin hat alles noch super funktioniert, auch neustart hat nix gebracht. ?(

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Larkis« (31.08.2012, 15:24)


Werbeanzeige