Suche simple Grafik- u. Sound-API.
-
Vielleicht meinst du ja etwas anders, wenn du von "Voxel" sprichst, normalerweise versteht man darunter jedenfalls ein Sample eines dreidimensionalen Signals. Eine Million Voxel ist gerade mal ein 100×100×100 Würfel...
Meinst du damit dass Voxels "in" dem Würfel drin sind wo man sie nicht sieht.
Ansonsten hängt es ja davon man ab wie groß der Würfel ist und damit einhergehen auch die Detailiertheit. Und die Verhältnisse somit ja selbst einstellbar, so dass ein Würfel praktisch schon ab 26 Voxel(EDIT!) gezeichnet werden kann(in der kleinstmöglich Einheit) u. dieser trotzdem nah von der Cam herangezoomt werden kann, durch spezziele Algoritmen eingenommen Auflösungs-simultane Licht u. Schatten-Qualität.Allgemeiner Nachteil: Umso großer Objekte sind, umso mehr Voxels werden auch benötigt, also kann ein Objekt nicht höher aufgelößt sein als das andere in einer Szene, weil die Verhältnisse sonst nicht mehr stimmen würden, was bedeutet, dass man sich auf eine mehr o. minder einheitliche Voxelauflösung einigen müsste.
Ob ich was anderes meine als Voxels ist/bleibt vielleicht InterpretationssacheAber was auch immer, ich will dich nicht länger mit dummen Fragen davon abhalten, die Computergrafik zu revolutionieren: Schau dir vielleicht mal Pixeltoaster an...
Sieht ganz interesannt aus, nur gibt's scheinbar noch keine Wiki dazu u. scheint entsprechend der Bugreport noch relativ verbuggt zu sein!
-
Das heißt konkret, dass der Renderingvorgang auf sehr viele Prozessoren verteilt werden kann. Wenn dein Algorithmus das nicht erlaubt, dann ist er zumindest nicht sehr zukunftsträchtig...
Und wie kann man darauf Einfluß nehmen, was auf welchem Prozzesorkern berechnet wird???
Vielleicht willst du ja auch mal einen Blick auf das werfen: http://www.atomontage.com/
Danke, sehr interessant!
Themawiedereinleitung: Kennt denn nun jemand von euch eine Api/GUI, die Frequenztöne erzeugen kann?
-
hustbaer schrieb:
sC++k schrieb:
hustbaer schrieb:
sC++k schrieb:
- ...wenn nicht sogar absolut systemunabhängig,...
Das ist kein Satz, da fehlt was. Das was du suchst gibt's aber nicht (komplett systemunabhängig).
Verstehe, dann halt möglichst multiplattformfähig.
Aber gibt es denn keinen Maschinencode(-Sprache) der auf jeder Maschine läuft!
Zum Satzbau:
Ich weiß, klingt etwas wirr, ist aber glaub' ich tatsächlich einer,
wenn auch ein fragwürdiger!Nein, ist es sicher nicht.
"Wenn nicht sogar" bezieht sich auf irgendwas vorher. Da ist aber nix vorher.
"Schnell, wenn nicht sogar der Schnellste" macht Sinn. "Portierbar, wenn nicht sogar systemunabhängig" hätte auch Sinn gemacht. Einfach nur "wenn nicht sogar systemunabhängig" ist einfach nur Unsinn.sC++k schrieb:
Ach, komm'! Bist du schlecht drauf gewesen als du das geschrieben hast o. warste verträumt?
Ist doch offensichtlich dass diese imaginäre Funktion einen Pixel auf dem Screen erzeugen soll
und die dadrüber einen Ton auf Wiedergabegerät.Und ab jetzt war klar dass du ein arroganter Idiot/Troll bist.
Du hast keinen Plan von dem was du schreibst. Daher denke ich, wäre es günstig wenn du einfach in ganzen Deutschen Sätzen hinschreiben würdest was du haben willst. Statt irgendwelche erfundenen Funktionsnamen, die wohl deiner Meinung nach aussagekräftig sein sollen.
Statt dessen beleibigst du aber Leute die nachfragen oder dir irgendwas erklären wollen, oder machst dich über sie lustig.
Auch gut. Viel Erfolg in deinem restlichen Leben dann noch!
Reg' dich mal ab! U. übrigens der einzigste der offensichtlich beleidigend wird bist du, mein Lieber. Solche rauen Vorwürfe.
Falls du dich von meinen ehrlichen unbös gemeinten "Bedauersmiliekommentaren" persönlich beleidigt fühlst ist das nicht mein emotionales Problem, sondern deines.
Falls es dir so sehr wehtat entschuldige ich mich sogar. Und ich wünsche dir auch das Beste für dein weiteres Leben, obwohl ich das im Gegensatz zur dir, nicht "scheinbar" ironisch meine!
PS:
Jeder von uns ist solange er nicht vollkommen ist ein wenig arogant,
eher wahrscheinlich ist meist dass der jenige arogant ist, der weiß machen
will dass jede Kleinigkeit als signifikant arogant öffentlich zu benennen ist.
Und nein das hier grad ist keine Beleidigung, sondern eine "Weißsagung".
-
ps.: hast du zufällig etwas mit dem forumsnutzer "lymogry" gemeinsam?
Nein, wieso?
all deine if-statements sind redunant da der boolsche wert immer true ist. wird noch lustig hier.
"Redundant" im Sinne von Effizienz o. Uneffizienz?
-
sC++k schrieb:
ps.: hast du zufällig etwas mit dem forumsnutzer "lymogry" gemeinsam?
Nein, wieso?
weil ihr beide die art habt, unendlich viele emoticons in den text zu schreiben.
sC++k schrieb:
all deine if-statements sind redunant da der boolsche wert immer true ist. wird noch lustig hier.
"Redundant" im Sinne von Effizienz o. Uneffizienz?
da kann ich dir lediglich ein wörterbuch deiner wahl empfehlen:
http://www.duden.de/ -> "überflüssig"
aber ich will mal nicht so sein:// Aus deinem Code in http://www.c-plusplus.net/forum/322713 : if(clearalgo = 3) { system("cls"); } ... if(verlängerung = 1){ Beep(End0_or_Frequenz,5000); } // Die Bedingungen sind IMMER erfüllt, daher kannst du gleich vor dem if-Statement die Zuweisung machen und dann den true-Block hinschreiben. // Etwa so: clearalgo = 3; system("cls"); // Das hier ist übrigens: "nicht sogar absolut systemunabhängig" ... verlängerung = 1; // Dir ist schon bewusst, dass das nicht kompilieren wird? Beep(End0_or_Frequenz,5000);
sC++k schrieb:
Themawiedereinleitung: Kennt denn nun jemand von euch eine Api/GUI, die Frequenztöne erzeugen kann?
lol, dir ist schon bewusst, was eine GUI ist?
ausserdem: was hast du damit vor? 44100 mal in der sekunde die frequenz und die amplitude ändern bis dir einfällt, dass du die daten einfach in einen buffer schreiben kannst?edit:
ich denke, du solltest dir erst einmal die basics von c++ anschauen bevor du das hier versuchst (egal wie sehr du dir einredest, dass dein algorithmus perfekt ist, er ist es nicht). dann lernst du auch int-to-bool-konversionen, namensregeln und den unterschied zwischen vergleichen und zuweisungen kennen.
-
edit:
ich denke, du solltest dir erst einmal die basics von c++ anschauen bevor du das hier versuchst (egal wie sehr du dir einredest, dass dein algorithmus perfekt ist, er ist es nicht). dann lernst du auch int-to-bool-konversionen, namensregeln und den unterschied zwischen vergleichen und zuweisungen kennen.Ich kenne den Unterschied! War grad auch geschockt was ich da geschrieben hatte
Hätte statt "=", "==" schreiben wollen.
War mir da schon klar, aber hatte ich vergessen, genau wie das "int" vor "main()"
Hab in dem halben Jahr in dem ich mich mit's Coden beschäftigte halt wirklich nur 4-5 kleine Skripts geschrieben,
weshalb das halt noch nicht so im Blut war, schätz' ich.
War außerdem ziemlich fragwürdig geschrieben, ich weiß.
Hier hab ich grad noch mal'n Edit gemacht: http://www.c-plusplus.net/forum/p2375439#2375439
Sorry, dass du dir grad grundlos das Maul zereißen musstest!
Und nein, ich denke nicht dass mein Algo perfekt ist, sondern nur vom Prinzip her vielversprechend!lol, dir ist schon bewusst, was eine GUI ist?
Jetzt schon! Sorry, dachte das wär das gleiche wie API (Synonym),
weil ich den im Kontext dessen gelesen hab hat es sich wohl bisschen zu sehr
ins Unterbewusstsein eingenistet, wollte auch erst garnicht GUI schreiben war so'n spontaner Tick.
-
sC++k schrieb:
edit:
ich denke, du solltest dir erst einmal die basics von c++ anschauen bevor du das hier versuchst (egal wie sehr du dir einredest, dass dein algorithmus perfekt ist, er ist es nicht). dann lernst du auch int-to-bool-konversionen, namensregeln und den unterschied zwischen vergleichen und zuweisungen kennen.Ich kenne den Unterschied! War grad auch geschockt was ich da geschrieben hatte
Hätte statt "=", "==" schreiben wollen.
War mir da schon klar, aber hatte ich vergessen, genau wie das "int" vor "main()"
Hab in dem halben Jahr in dem ich mich mit's Coden beschäftigte halt wirklich nur 4-5 kleine Skripts geschrieben,
weshalb das halt noch nicht so im Blut war, schätz' ich.
War außerdem ziemlich fragwürdig geschrieben, ich weiß.
Hier hab ich grad noch mal'n Edit gemacht: http://www.c-plusplus.net/forum/p2375439#2375439
Sorry, dass du dir grad grundlos das Maul zereißen musstest!
Und nein, ich denke nicht dass mein Algo perfekt ist, sondern nur vom Prinzip her vielversprechend!gut, nun musst du nur noch lernen wie bezeichner aussehen dürfen, wie man spät definiert, was std::endl wirklich ist und wie man leserlich einrückt, dann ist dein 26 zeilen programm schon fast durchschnittlich.
-
gut, nun musst du nur noch lernen wie bezeichner aussehen dürfen,
Welchen Fehler hab ich da denn gemacht?
...wie man spät definiert, was std::endl wirklich ist..
1. "spät definiert"?
2. Zeilenumbruchsbefehl (ein grundsätzlich reservierter Grundbezeichner aus dem Namensraum "::std")
-
sC++k schrieb:
gut, nun musst du nur noch lernen wie bezeichner aussehen dürfen,
Welchen Fehler hab da denn gemacht?
du hast versucht eine variable "verlängerung" zu nennen.
sC++k schrieb:
...wie man spät definiert, was std::endl wirklich ist..
1. "spät definiert"?
2. Zeilenumbruchsbefehl (ein grundsätzlich reservierter Grundbezeichner aus dem Namensraum "::std")1. man definiert seine variablen erst genau da wo man sie auch tatsächlich braucht. "verlängerung" brauchst du erst bei zeile 18, definierst die variable aber schon bei zeile 8.
2. nein, eben nicht. "
<< std::endl
" bewirkt das selbe wie "<< '\n' << std::flush
". du willst aber nicht flushen. ausserdem ist das kein "reservierter grundbezeichner". ich darfint endl;
schreiben ohne probleme zu bekommen. es ist ein stream-manipulator im namensbereich std. der namensbereich std ist allgemein im c++-standard geschützt (bis auf einige ausnahmen, wie das komplette template-spezialisieren von std::swap).
-
Eieieiei .... da fehlen aber noch ein paar Jahre Lernzeit bis Du einen "performancestarken, effizienten Music Sequenzer u, Game Engine" angehen kannst.
-
lolalter schrieb:
Eieieiei .... da fehlen aber noch ein paar Jahre Lernzeit bis Du einen "performancestarken, effizienten Music Sequenzer u, Game Engine" angehen kannst.
Das würde natürlich fast jeder im Affekt sagen, der selbst jahrelange Erfahrung hat.
Alles was ich darüber bisher gelernt hab ist dass es beim Programmieren um logische Konzepte u. Algoritmen geht und noch ein bisschen um das Prinzip des Programmierens allgemein. Inwiefern gewisse Librarys wie STL o. so vernetzt sind
u. in welchen Namensraum irgendetwas steht hilft mir nicht dabei geniale Algoritmen zu proggen, alles was ich lediglich verstehen muss ist wie ich eine Funktion benutze. Genau wie es dem Gamer wenig bringt zu wissen wie das Spiel programmiert wurde um das Spiel gut zu spielen. Er muss nur wissen was im Spiel möglich ist u. was nicht.
-
asfdlol schrieb:
sC++k schrieb:
gut, nun musst du nur noch lernen wie bezeichner aussehen dürfen,
Welchen Fehler hab da denn gemacht?
du hast versucht eine variable "verlängerung" zu nennen.
sC++k schrieb:
...wie man spät definiert, was std::endl wirklich ist..
1. "spät definiert"?
2. Zeilenumbruchsbefehl (ein grundsätzlich reservierter Grundbezeichner aus dem Namensraum "::std")1. man definiert seine variablen erst genau da wo man sie auch tatsächlich braucht. "verlängerung" brauchst du erst bei zeile 18, definierst die variable aber schon bei zeile 8.
2. nein, eben nicht. "
<< std::endl
" bewirkt das selbe wie "<< '\n' << std::flush
". du willst aber nicht flushen. ausserdem ist das kein "reservierter grundbezeichner". ich darfint endl;
schreiben ohne probleme zu bekommen. es ist ein stream-manipulator im namensbereich std. der namensbereich std ist allgemein im c++-standard geschützt (bis auf einige ausnahmen, wie das komplette template-spezialisieren von std::swap).Danke für den Hinweis! :p
Und was macht "int endl"?
-
sC++k schrieb:
Und was macht "int endl"?
Definiert eine Variable vom Tzp int mit Namen endl.
PS: Bitte nutze [ /quote ] zum Zitieren.
-
sC++k schrieb:
lolalter schrieb:
Eieieiei .... da fehlen aber noch ein paar Jahre Lernzeit bis Du einen "performancestarken, effizienten Music Sequenzer u, Game Engine" angehen kannst.
Das würde natürlich fast jeder im Affekt sagen, der selbst jahrelange Erfahrung hat.
Alles was ich darüber bisher gelernt hab ist dass es beim Programmieren um logische Konzepte u. Algoritmen geht und noch ein bisschen um das Prinzip des Programmierens allgemein. Inwiefern gewisse Librarys wie STL o. so vernetzt sind
u. in welchen Namensraum irgendetwas steht hilft mir nicht dabei geniale Algoritmen zu proggen, alles was ich lediglich verstehen muss ist wie ich eine Funktion benutze. Genau wie es dem Gamer wenig bringt zu wissen wie das Spiel programmiert wurde um das Spiel gut zu spielen. Er muss nur wissen was im Spiel möglich ist u. was nicht.kompletter blödsinn. wenn du nicht alle sprachmittel kennst, dann weisst du auch nicht welches die optimale lösung ist. bei problemstellungen die über das eingeben einer zahl hinausgehen hat man viele wege und muss sich viele fragen zum softwaredesign stellen. du hast recht, dass die programmiersprache lediglich ein werkzeug ist um einen algorithmus zu implementieren. aber du unterschätzt die komplexität von c++. ausserdem sollte man beim programmieren auch andere dinge beachten und einhalten wie ausnahmesicherheit, leserlichkeit, geschwindigkeit, parallelisierbarkeit. diese vier kannst du nicht alleine durch den algorithmus gewährleisten.
ich kann es dir ganz einfach aufzeigen:
wie würde in groben zügen eine funktion aussehen, die von einer menge an zeichen das häufigste bestimmt und es (inkl. anzahl) zurückgibt (ausgehend davon, dass es immer eindeutig ist und es nicht zwei häufigste zeichen gibt)?sC++k schrieb:
Danke für dn Hinweis! :p
Und was macht "int endl"?eine instanz des typen int mit bezeichnung endl (wenn da noch das semikolon hinkommt welches auch in hingeschrieben habe).
-
knivil schrieb:
sC++k schrieb:
Und was macht "int endl"?
Definiert eine Variable vom Tzp int mit Namen endl.
PS: Bitte nutze [ /quote ] zum Zitieren.
Und welche?
-
unterschätzt die komplexität von c++
Manche behaupten, es reicht int und vector zu kennen.
Ansonsten: Nicht labern, machen!
-
sC++k schrieb:
knivil schrieb:
sC++k schrieb:
Und was macht "int endl"?
Definiert eine Variable vom Tzp int mit Namen endl.
PS: Bitte nutze [ /quote ] zum Zitieren.
Und welche?
eine neue? was ist das bitte für eine frage, lol.
edit:
alleine die tatsache dass du dich atm darum kümmerst, mit welcher bibliothek du deine pixel darstellen willst beweist, dass du keine ahnung hast. du kannst einfach ein rendering-interface machen, worauf all deine algorithmen zugreifen. dann kannst du gemütlich für verschiedene bibliotheken verschiedene rendering-interface-implementierungen schreiben ohne deine genialen algorithmen anfassen zu müssen. klingt das nicht toll? dann fang jetzt am besten an und halte uns auf dem laufenden.
-
sC++k schrieb:
lolalter schrieb:
Eieieiei .... da fehlen aber noch ein paar Jahre Lernzeit bis Du einen "performancestarken, effizienten Music Sequenzer u, Game Engine" angehen kannst.
Das würde natürlich fast jeder im Affekt sagen, der selbst jahrelange Erfahrung hat.
Alles was ich darüber bisher gelernt hab ist dass es beim Programmieren um logische Konzepte u. Algoritmen geht und noch ein bisschen um das Prinzip des Programmierens allgemein. Inwiefern gewisse Librarys wie STL o. so vernetzt sind
u. in welchen Namensraum irgendetwas steht hilft mir nicht dabei geniale Algoritmen zu proggen, alles was ich lediglich verstehen muss ist wie ich eine Funktion benutze. Genau wie es dem Gamer wenig bringt zu wissen wie das Spiel programmiert wurde um das Spiel gut zu spielen. Er muss nur wissen was im Spiel möglich ist u. was nicht.Du kriegst es nicht hin innerhalb der nächsten Jahre, das garantiere ich Dir.
Man sieht am anderen Thread, dass selbst bei einfachsten Aufgaben noch anfängerhafte und umständidliche Logik bei Dir rauskommt (http://www.c-plusplus.net/forum/p2375439#2375439). Und Du sprichst von genialen Algorithmen für eine Game-Engine?Junge Junge...
Aber Du bist nicht der Erste und auch nicht der Letzte, der sich ganz gewaltig verschätzt und nicht den Hauch einer Ahnung hat, was da noch so alles an Hürden auf Dich wartet.
-
sC++k schrieb:
PixelErzeugen(X,Y,R,G,B);
sC++k schrieb:
Ich hab vor einen performancestarken, effizienten Music Sequenzer u, Game Engine zu programmieren,
Alles klar. Besorg Dir das Buch über Supercodes. Wenn Du das Kapitel über sublineares Sortieren mit angepaßtem Bubblesort verstanden hast, klappt auch die Gamez-Engine wie von alleine.
-
ausnahmesicherheit, leserlichkeit, geschwindigkeit, parallelisierbarkeit. diese vier kannst du nicht alleine durch den algorithmus gewährleisten.
Da hast du sicher Recht. Das ist auch der Grund warum ich in solchen Foren
aktiv bin.ich kann es dir ganz einfach aufzeigen: wie würde in groben zügen eine funktion aussehen, die von einer menge an zeichen das häufigste bestimmt und es (inkl. anzahl) zurückgibt (ausgehend davon, dass es immer eindeutig ist und es nicht zwei häufigste zeichen gibt)?
Das klingt für Aussenstehende wie: "Wo würde ein Hase hingehen, wenn er trotz Karottenhunger keine Sehnsucht verspürt Nahrung in seinen Magen zu lassen, und dabei auch noch schlafwandelt?"
Hier aber der Test meines Könnens(nur 'versucht', war anstrengend, aber gute Übung):
#include <iostream> using namespace std; int main() { //Beispielzeichenmenge char Zeichenmaenge[5] = {'T', 'a', 's', 's' ,'e'}; //Suchalgoritmus (T,a,s,e) short suchhier=0; char lagerhieraus=0; char vergleichdas=0; for(x=0; x=6; x++) { Zeichenmaenge[suchhier] += vergleichdas; bool obgefunden; while(obgefunden == true) { //T short T_Test=0; if(vergleichdas == 'T') { T_Test++; obgefunden = true; suchhier++; //hiermit zur nächsten Zeichenuntersuchungsstelle } //a short a_Test=0; if(vergleichdas == 'a') { a_Test++; obgefunden = true; suchhier++; //hiermit zur nächsten Zeichenuntersuchungsstelle } //s short s_Test=0; if(vergleichdas == 's') { s_Test++; obgefunden = true; suchhier++; //hiermit zur nächsten Zeichenuntersuchungsstelle } //e short e_Test=0; if(vergleichdas == 'e') { e_Test++; obgefunden = true; suchhier++; //hiermit zur nächsten Zeichenuntersuchungsstelle } } //Häufigkeitsvergleich short T_Test2; if( T_Test > a_Test >= s_Test >= e_Test) {T_Test2++;} short a_Test2; if( a_Test > T_Test >= s_Test >= e_Test) {a_Test2++;} short s_Test2; if( s_Test > a_Test >= s_Test >= e_Test) {s_Test2++;} short e_Test2; if( e_Test > s_Test >= a_Test >= T_Test) {e_Test2++;} //welches nun des häufigste konkret ist short haeufigstes ; short haeufigstesAbfrage=0 ; while(haeufigstesAbfrage == 1) { haeufigstesAbfrage = haeufigstesAbfrage + T_Test2; haeufigstes++; haeufigstesAbfrage = haeufigstesAbfrage + a_Test2; haeufigstes++; haeufigstesAbfrage = haeufigstesAbfrage + s_Test2; haeufigstes++; haeufigstesAbfrage = haeufigstesAbfrage + e_Test2; haeufigstes++; } //Konsolenausgabe cout<< "Das, in dem Wort 'Tasse' am häufigsten vorkommende Zeichen ist:" << Zeichenmaenge[haeufigstes] << endl << "Drücke Enter um das Programm zu beenden" cin.get(); return 0; }
EDIT: UUPS, hab wohl 'ne "For-Schleife" vergessen!