Hallo Entwickler,
wie kann ich ein C Array übergeben?
Warum funktioniert dieser Code nicht?
wie kann ich ein C Array übergeben?
Warum funktioniert dieser Code nicht?
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Vyax schrieb:
Wie kann man eine "schöne" Lösung machen?
Mein Anliegen:
Eine Klasse GeometryObject soll bei der Initialisierung ein Array füllen.
Eine Klasse ShapeManager liefert das Array.
@zerm
Würdest du dann die Methode zu cubeVertices:(GLfloat *)fVertices umschreiben und das Array als Parameter übergeben?
Und dann ein neues Array mit den Werten erzeugen und per memcpy() in das übergebene kopieren?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Markus Müller ()
Vyax schrieb:
Mal eine Frage.
Wird ein mit malloc() erzeugtes Array, das @property eines Objektes ist automatisch aufgelöst, wenn das Objekt aufgelöst wird?
Markus Müller schrieb:
- die Cocoa-Collections eignen sich überhaupt nicht für OpenGL
Markus Müller schrieb:
P.S.: C++ ist wie Klavier spielen, es dauert ewig, bis man es kann, aber wenn Du einmal soweit bist...
kmr schrieb:
Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
gritsch schrieb:
Vyax schrieb:
Mal eine Frage.
Wird ein mit malloc() erzeugtes Array, das @property eines Objektes ist automatisch aufgelöst, wenn das Objekt aufgelöst wird?
wenn du das free korrekt implemenentiert hast im dealloc.
Lucas de Vil schrieb:
Markus Müller schrieb:
- die Cocoa-Collections eignen sich überhaupt nicht für OpenGL
Wieso nicht?
Ich kann mir nicht vorstellen, dass sein Projekt so unglaublich riesig und anspruchsvoll wird, dass [[collection nsNumberObject] floatValue]; spürbare Performanceeinbußen verursachen wird.
Markus Müller schrieb:
P.S.: C++ ist wie Klavier spielen, es dauert ewig, bis man es kann, aber wenn Du einmal soweit bist...
Ich bleibe bei der Violine.
Amin Negm-Awad schrieb:
gritsch schrieb:
Vyax schrieb:
Mal eine Frage.
Wird ein mit malloc() erzeugtes Array, das @property eines Objektes ist automatisch aufgelöst, wenn das Objekt aufgelöst wird?
wenn du das free korrekt implemenentiert hast im dealloc.
Was ist daran noch bezüglich des C-Arrays automatisch?
Doch! Lies was einführendes zur GPU-Programmierung... SCNR!Ich kann mir nicht vorstellen, dass sein Projekt so unglaublich riesig und anspruchsvoll wird, dass [[collection nsNumberObject] floatValue]; spürbare Performanceeinbußen verursachen wird.
Lucas de Vil schrieb:
Ich kann mir nicht vorstellen, dass sein Projekt so unglaublich riesig und anspruchsvoll wird, dass [[collection nsNumberObject] floatValue]; spürbare Performanceeinbußen verursachen wird.
gritsch schrieb:
Amin Negm-Awad schrieb:
gritsch schrieb:
Vyax schrieb:
Mal eine Frage.
Wird ein mit malloc() erzeugtes Array, das @property eines Objektes ist automatisch aufgelöst, wenn das Objekt aufgelöst wird?
wenn du das free korrekt implemenentiert hast im dealloc.
Was ist daran noch bezüglich des C-Arrays automatisch?
keine ahnung was er mit automatisch meint.
wenn du aber iVar = malloc() schreibst dann reicht im dealloc eben in free() aus. oder was erwartet er?
gritsch schrieb:
Lucas de Vil schrieb:
Markus Müller schrieb:
- die Cocoa-Collections eignen sich überhaupt nicht für OpenGL
Wieso nicht?
Ich kann mir nicht vorstellen, dass sein Projekt so unglaublich riesig und anspruchsvoll wird, dass [[collection nsNumberObject] floatValue]; spürbare Performanceeinbußen verursachen wird.
Markus Müller schrieb:
P.S.: C++ ist wie Klavier spielen, es dauert ewig, bis man es kann, aber wenn Du einmal soweit bist...
Ich bleibe bei der Violine.
weil es viel komplizierter und länger ist.
array.at(0) bzw array[0] ist doch einiges kürzer als [[array objectAtIndex:0] floatValue]. vor allem beim reinschreiben: [array replaceObjectAtIndex:0 withObject:[NSNumber numberWithFloat:0.0]]
zerm schrieb:
Lucas de Vil schrieb:
Ich kann mir nicht vorstellen, dass sein Projekt so unglaublich riesig und anspruchsvoll wird, dass [[collection nsNumberObject] floatValue]; spürbare Performanceeinbußen verursachen wird.
OpenGL API Funktionen erwarten einen Pointer auf ein GLfloat Array. Willst Du Dein NSArray jedesmal durchlaufen und in ein C-Array umwandeln dafuer?