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.
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.
Was ich persönlich nicht verstehe wo ist der unterschied zwischen sin und sinf.
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.