Anti-Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
antisteo
Establishment
Beiträge: 1018
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Anti-Jammer-Thread

Beitrag von antisteo »

TDK hat geschrieben:Ich bin so stolz auf mich, was mein neuer Speichermanager alles ermöglicht.

Anstatt mir dauernd temporäre Dateien anlegen zu lassen, um wegwerf-Müll zwischenzuspeichern, habe ich mir nun eine Klasse memory_file entwickelt, die das alles auch im RAM regeln kann. Das System ist sogar so erweitert, dass ich auch gleich eine Datei von der Platte lesen kann bzw. speichern kann. Endlich habe ich eine Klasse für alles! Danke Gott, der mir Hirn verschafft hat.
Dazu gibt es aber schon Memory Mapping und sonstige Mechanismen des Betriebssystems. Wenn du nicht gerade vor einem Win 3.11 im Real Mode sitzt, sollte das auch für dein Betriebssystem verfügbar sein.
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2961
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Jonathan »

Krishty hat geschrieben:Wow; Turnitin.com indiziert ZFX.

Vielleicht sollten wir uns langsam überlegen, unter welcher Lizenz der Inhalt dieser Seite zur Verfügung gestellt wird – was ich hier schreibe, veröffentliche ich grundsätzlich gemeinfrei und sporne Kopien an. Also nicht, dass mal jemand auf den Deckel bekommt, weil er Quelltext aus meinen Jammer-Beiträgen kopiert hat …
Ich sehe es schon kommen, dass in 2 Jahren irgendjemand hier aus dem Forum gefeuert wird, weil er seinen eigenen Code, den er irgendwann mal unter einem Pseudonym hier veröffentlicht hat, für irgendetwas benutzt hat, was dann als Plagiat abgestempelt wird...

Andererseits: Wenn man korrekt gearbeitet hat, wird man das im Zweifelsfalle auch ganz gut belegen können - vielleicht muss man nicht vor jeder neuen Technik Angst haben.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Krishty »

Windows 8 bietet in allen Editionen einen virtuellen Adressraum von 128 GiB. Windows 7 Home Premium bot nur 16 GiB (die fettesten Ausführungen boten auch 192 GiB; nun 512). Memory-map ALL files!!!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 5402
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Schrompf »

Ich habe gerade den letzten Feinschliff am Splatter-Abspann angebracht. Gibt immernoch unendlich viel zu tun, aber so langsam kommt alles zusammen.

Ich habe am Ende übrigens auf zfx.info verwiesen, falls jemand "Interesse an der technischen Seite der Spielentwicklung" hat. Weil ich euch alle so lieb hab. Und euch ganz ehrlich für weiterempfehlenswert halte.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Anti-Jammer-Thread

Beitrag von Artificial Mind »

[youtube]Irf-HJ4fBls[/youtube]
Es ist wieder diese Zeit des Jahres :) (Anti-Jammer wegen Unterhaltungswert ;) )
joggel

Re: Anti-Jammer-Thread

Beitrag von joggel »

Die meinen das wirklich ernst.
Die waren auch letztes Jahr auf der Intergeo und hatten dort einen Stand...
Benutzeravatar
Schrompf
Moderator
Beiträge: 5402
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Schrompf »

Nunja, für Point Clouds wären sie mit ihrer Technologie ja wirklich geeignet. Wirklich große Datenmengen, alles schön statisch, keinerlei weiterführendes Shading notwendig. Der ganze Rest ist durchaus denkbar - ein schlaues Indexing ist dann alles, was Du brauchst.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Alexander Kornrumpf
Moderator
Beiträge: 2198
Registriert: 25.02.2009, 13:37

Re: Anti-Jammer-Thread

Beitrag von Alexander Kornrumpf »

Schrompf hat geschrieben:Nunja, für Point Clouds wären sie mit ihrer Technologie ja wirklich geeignet. Wirklich große Datenmengen, alles schön statisch, keinerlei weiterführendes Shading notwendig. Der ganze Rest ist durchaus denkbar - ein schlaues Indexing ist dann alles, was Du brauchst.
Wenn es ein Scam wäre, würde es ja ziemlich schnell auffliegen sobald sie ein Produkt in der realen Welt verkaufen.
joggel

Re: Anti-Jammer-Thread

Beitrag von joggel »

Ich kann mir auch schwer vorstellen aus einer beliebigen Punktwolke, komplexe Geometrie (also Polygone) zu generieren. Mit einer zusätzlichen nachbearbeitung oder so etwas wäre das vlt. möglich. Dann könnte man vlt. aus einer Punktwolke solche Grafiken generieren, wie diese Insel, aus den ersten Videos.... halt mit cleveren Indexing oder ähnlichem...
Zuletzt geändert von joggel am 28.05.2013, 22:15, insgesamt 2-mal geändert.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4321
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Anti-Jammer-Thread

Beitrag von Chromanoid »

Muss ne ziemlich coole Indexstruktur sein, wenn das wirklich so funktioniert. Mmh das mit dem schnell über Netzwerk Laden lässt mich an Bloomfilter denken.
Benutzeravatar
dot
Establishment
Beiträge: 1752
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von dot »

Ich glaub, wie schon damals, als die ihr erstes Video rausgebracht haben, gesagt, dass diese clevere Indexstruktur dem Rest der Welt als "Sparse Voxel Octree" bekannt ist und dass die kaum was anderes machen, als Beamtracing in den Octree. Nun haben sie ihre perfekte Nische gefunden; an Arroganz könnten sie wohl immer noch etwas zurückdrehen, aber ist ja zumindest schonmal viel besser als noch vor ein paar Jahren...
antisteo
Establishment
Beiträge: 1018
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Anti-Jammer-Thread

Beitrag von antisteo »

Könnte man nicht einfach herausfinden, was ihre Indexstruktur ist, indem man einen Renderer schreibt, der exakt diese Artifakte wie im Video erzeugt? Dann sieht man ja, was davon Fake ist und wie hoch der Preis für die flüssige Darstellung ist.
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4321
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Anti-Jammer-Thread

Beitrag von Chromanoid »

Könnte man nicht einen Sparse Voxel Octree mit einem Bloomfilter (bzw. mehreren) kombinieren um Pfaddurchwanderungen im Vorhinein zu filtern, das müsste doch recht gut funktionieren um einen Großteil der Abfragen, die durch leeren Raum gehen auszuschließen.

Ah hier steht was ich meine (3D Abfragen per Bloomfilter lösen, nicht die o.g. Kombination): http://www.cse.buffalo.edu/~jcorso/pubs ... _bloom.pdf
Zuletzt geändert von Chromanoid am 29.05.2013, 13:46, insgesamt 2-mal geändert.
antisteo
Establishment
Beiträge: 1018
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Anti-Jammer-Thread

Beitrag von antisteo »

Könnte es sein, dass die für jede mögliche Betrachtungsposition gecachet haben, in welcher Entfernung das erste sichtbare Hindernis für jede Sichtrichtung erscheint?
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4321
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Anti-Jammer-Thread

Beitrag von Chromanoid »

Ich glaube das würde dann aber einen immensen Anstieg der Datenmenge bedeuten...
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Krishty »

Ich habe mir typisierte und überladene C++-Präprozessormakros gebaut. Fuck yea. Der Menü-ohne-Ressource-Compiler-Thread wird noch sowas von krank …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Krishty »

Microsoft erhört mein Jammern. Leider haben sie mein Problem überhaupt nicht verstanden und durch meine Meldung stattdessen einen anderen, ähnlichen Fehler gefunden. Aber was nicht ist kann ja noch werden. Wenn man einmal im Jahr jemanden aus dem Compiler-Team vor sich hat, sollte man sich bemühen, ihn nicht wieder zu verscheuchen.

Und wo ich gerade nach meinen anderen Fehlern suche, sehe ich, dass die es ja sogar auf StackOverflow geschafft haben :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von CodingCat »

Der CUDA 5.5 Release Candidate ist da. Ob ihrs glaubt oder nicht: MIT VC12-UNTERSTÜTZUNG! Sogar ein NSIGHT 3.1 für VC12 liegt bei. Davon habe ich allerdings in meiner IDE bis jetzt nichts zu Gesicht bekommen. Kommt dann hoffentlich mit dem offiziellen 3.1-Release; die Release-Notes sichern es jedenfalls auch schonmal zu. Natürlich kann ich immer noch nicht umsteigen, weil der neue CUDA-5.5-Compiler sich gleich mal weigert, B40Cs heftigen Template-Code ordnungsgemäß zu kompilieren.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Anti-Jammer-Thread

Beitrag von eXile »

So wie ich das sehe ist das Release jedoch komplett ohne Graphics Debugger (die Nsight-Tools bestehen ja aus der Dreifaltigkeit von CUDA Debugger, Graphics Inspector and Graphics Debugger, und Analysis and Profiling Tools); die aktuellen Release-Notes zählen den Graphics Debugger noch nicht einmal auf.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5402
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Schrompf »

Ich habe gerade eine Suchfunktion in den Spladitor eingebaut. Himmel, wie konnte ich bisher nur ohne leben. Es war durchaus ein bisschen manuelle Arbeit, alle Objekte, Komponenten und Skripte durchzuackern, hier und da mittels dynamic_cast von Hand spezialisiert. Aber das Ergebnis war es wert.
Spladitor hat geschrieben:>such ziel2
Suchtext gefunden in Film "fabrikstart", Schritt 0
Suchtext gefunden in Eigenname von Objekt 384 bei 32.7, 86.0
Suchtext gefunden in Trigger-Film von Trigger 619 bei 91.6, 30.3
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2961
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Jonathan »

CodingCat hat geschrieben:Der CUDA 5.5 Release Candidate ist da. Ob ihrs glaubt oder nicht: MIT VC12-UNTERSTÜTZUNG!
Whohoo! Ich wollte das schon immer testen (VC2012), brauchte aber für die Uni Cuda. Und eine Parallelinstallation hat irgendwie nicht geklappt, bzw. ich hatte keine Lust, es einzurichten. Aber dann kann es jetzt ja endlich losgehen :)
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
antisteo
Establishment
Beiträge: 1018
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Anti-Jammer-Thread

Beitrag von antisteo »

Horni is back!
[youtube]Q6znp5Pcplg[/youtube]
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von CodingCat »

Jonathan hat geschrieben:
CodingCat hat geschrieben:Der CUDA 5.5 Release Candidate ist da. Ob ihrs glaubt oder nicht: MIT VC12-UNTERSTÜTZUNG!
Whohoo! Ich wollte das schon immer testen (VC2012), brauchte aber für die Uni Cuda. Und eine Parallelinstallation hat irgendwie nicht geklappt, bzw. ich hatte keine Lust, es einzurichten. Aber dann kann es jetzt ja endlich losgehen :)
CodingCat hat geschrieben:Natürlich kann ich immer noch nicht umsteigen, weil der neue CUDA-5.5-Compiler sich gleich mal weigert, B40Cs heftigen Template-Code ordnungsgemäß zu kompilieren.
Kurzes Update: Bug Report wurde schon am Montag entgegengenommen und Bug ist nach NVIDIAs eigener Aussage sofort behoben worden. Hoffen wir, dass sich dies im nächsten Update bestätigt.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
antisteo
Establishment
Beiträge: 1018
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Anti-Jammer-Thread

Beitrag von antisteo »

Die IE-User, die sich auf meine Seite verlaufen, sehen zwar keine rundgelutschten Buttons, dafür aber haben sie eine Absprungrate von 0%.(Durchschnitt: 28,57 %)
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Krishty »

KA, ob das in diesen Thread gehört, aber:
https://connect.microsoft.com/VisualStudio/feedback/details/788471/no-nrvo-for-pod-with-floating-point-members hat geschrieben:Hi, thanks for the source code. The codegen differences you're seeing are indeed because we chose a slightly different optimization path due to the identification of POD versus non-POD. If you are curious, register allocation is affected and we introduce more spills -- those are the spills you see in the assembly code.

This is an optimization bug, and we will address that in a future release. It's getting pretty late in the product cycle for the next major release, but we will try to get it in.

In the mean time, if it's possible to use an empty constructor for performance.

Thanks for taking the time to get the repro case for us. I'm closing this MSConnect item. Feel free to re-activate it if you need anything else.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 5402
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Schrompf »

Hey, die nehmen mal einen Bugreport von Dir ernst! Und sie bedanken sich sogar (völlig zu Recht) für Deine Mühen, den Fehler schön klar zu reproduzieren. Das nützt uns allen was :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Krishty »

Aber dass sie tatsächlich getrennte Optimizer-Pfade für POD haben und nicht wissen, ob der Fehler zum nächsten Major Release behoben werden kann, macht es wieder mulmig.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von Krishty »

Vielleicht gibt es irgendwann ein echtes OutputDebugStringW(): What is the freaking point of OutputDebugStringW, anyway? (Sorting it all Out)

(Das aktuelle konvertiert den String einfach zu ANSI und leitet ihn an OutputDebugStringA() weiter.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
NoFake3D
Beiträge: 59
Registriert: 27.12.2012, 13:12

Re: Anti-Jammer-Thread

Beitrag von NoFake3D »

Multi-Sample-Kantenglättung (MSAA) für Windows 8-Store-Apps funktioniert doch (siehe hier):
http://msdn.microsoft.com/en-us/library ... .105).aspx

Der Link ist eigentlich für Windows Phone 8 gedacht. Das Ganze funktioniert auch für Windows 8-Store-Apps.
Allerdings musste ich die ResolveSubresource-Methode vor ClearRenderTargetView und ClearDepthStencilView einfügen.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Anti-Jammer-Thread

Beitrag von CodingCat »

Mal wieder eine grenzwertige Template-Spielerei, die das automatische Initialisieren und Enumerieren von Klassenattributen erlaubt:

Code: Alles auswählen

#include <iostream>
#include <string>

namespace memenum
{
    template <int Counter>
	struct member_iterator : member_iterator<Counter - 1> { static int const value = Counter; };
	template <>
	struct member_iterator<0> { static int const value = 0; };

	template <class This, class Op>
	void call_for_members(This*, member_iterator<__COUNTER__>, Op const&) { }

	template <class T>
	struct member_wrapper
	{
		T value;
		member_wrapper(T const &v) : value(v) { }
	};

	#define DEFINE_MEMBER(type, memname, ...) \
		struct _##memname##_type : ::memenum::member_wrapper<type> \
		{ \
			static int const counter = __COUNTER__; \
			_##memname##_type() : ::memenum::member_wrapper<type>(__VA_ARGS__) { } \
			char const* name() const { return #memname; } \
		} memname; \
		template <class This, class Op> \
		friend void call_for_members(This *self, ::memenum::member_iterator<_##memname##_type::counter> i, Op const &op, typename This::_##memname##_type* = nullptr) \
		{ \
			call_for_members(self, ::memenum::member_iterator<_##memname##_type::counter - 1>(), op); \
			op(self->memname); \
		}

	#define MAKE_MEMBER_ITERATOR() ::memenum::member_iterator<__COUNTER__>()

} // namespace

namespace test
{
	
	struct foo
	{
		DEFINE_MEMBER(int, a, 2);
		DEFINE_MEMBER(float, b, 2.5f);

	public:
		struct Printer
		{
			template <class T>
			void operator ()(T &member) const
			{
				std::cout << member.name() << " = " << member.value << std::endl;
			}
		};
		void print() const
		{
			call_for_members(this, MAKE_MEMBER_ITERATOR(), Printer());
		}

		struct Multiplier
		{
			int factor;

			template <class T>
			void operator ()(T &member) const
			{
				member.value *= factor;
			}
		};
		void multiply(int factor)
		{
			Multiplier multi = { factor };
			call_for_members(this, MAKE_MEMBER_ITERATOR(), multi);
		}
	};

	struct bar
	{
		DEFINE_MEMBER(char, c, 'd');
		DEFINE_MEMBER(std::string, d, "hello world");

	public:
		struct Printer
		{
			template <class T>
			void operator ()(T &member) const
			{
				std::cout << member.name() << " = " << member.value << std::endl;
			}
		};
		void print() const
		{
			call_for_members(this, MAKE_MEMBER_ITERATOR(), Printer());
		}
	};

} // namespace

int main()
{
	test::foo test1;
	test1.print();
	test1.multiply(5);
	test1.print();

	const test::bar test2;
	test2.print();
}
// Output:
// a = 2
// b = 2.5
// a = 10
// b = 12.5
// c = d
// d = hello world
Wenn wir jetzt noch generische Lambdas hätten, würden wir auch die Funktor-structs los. Wohlgemerkt ist __COUNTER__ nicht Teil des Standards, wird aber von gcc, clang und VC++ unterstützt. Nebenbei ließe sich __COUNTER__ hier auch durch __LINE__ ersetzen, dies könnte den Compiler in großen Dateien allerdings mit entsprechend langen Klassenhierarchien ggf. zum Schwitzen bringen.

Läuft auch in Visual C++. In Action: http://ideone.com/uv4Ab4

Nachtrag: Jetzt auch mit impliziter const-correctness.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Antworten