<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Performanz Steigerung von Marching Cubes]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde gerne meinen Marching Cubes performanter machen.</p>
<p>Dazu würde ich gerne eine Art indizierte Liste erstellen, um die mehrfache Berechnung von Vertices und Normalen zu verhindern.<br />
Allerdings stehe ich momentan etwas auf dem Schlauch und wäre für jeden Tipp dankbar, wie ich das am besten lösen kann.</p>
<p>Ich habe mir das etwa wie Hashing vorgestellt, also dass aus jeder xyz-Koordinate ein Key erzeugt wird.<br />
Wenn dieser Platz noch leer ist, sollen dafür Normale und Vertex Position berechnet und eingetragen werden,<br />
ansonsten soll einfach ein Index dafür erstellt werden.</p>
<p>Nur bin ich mir nicht sicher, ob das wirklich der beste Ansatz ist, da es viele Millionen Voxel geben kann und die Hashmap dadurch sehr riesig ausfallen würde.</p>
<p>Ich bin gespannt auf Eure Meinungen!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244919/performanz-steigerung-von-marching-cubes</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 15:38:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244919.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Jul 2009 18:09:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Tue, 07 Jul 2009 18:09:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde gerne meinen Marching Cubes performanter machen.</p>
<p>Dazu würde ich gerne eine Art indizierte Liste erstellen, um die mehrfache Berechnung von Vertices und Normalen zu verhindern.<br />
Allerdings stehe ich momentan etwas auf dem Schlauch und wäre für jeden Tipp dankbar, wie ich das am besten lösen kann.</p>
<p>Ich habe mir das etwa wie Hashing vorgestellt, also dass aus jeder xyz-Koordinate ein Key erzeugt wird.<br />
Wenn dieser Platz noch leer ist, sollen dafür Normale und Vertex Position berechnet und eingetragen werden,<br />
ansonsten soll einfach ein Index dafür erstellt werden.</p>
<p>Nur bin ich mir nicht sicher, ob das wirklich der beste Ansatz ist, da es viele Millionen Voxel geben kann und die Hashmap dadurch sehr riesig ausfallen würde.</p>
<p>Ich bin gespannt auf Eure Meinungen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738759</guid><dc:creator><![CDATA[t0bsen]]></dc:creator><pubDate>Tue, 07 Jul 2009 18:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Wed, 08 Jul 2009 09:36:35 GMT]]></title><description><![CDATA[<p>Schau Dir mal std::map an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1739057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1739057</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Wed, 08 Jul 2009 09:36:35 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Tue, 14 Jul 2009 10:44:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke für die Antwort! Ich habe mir mal std::map angeschaut und es ist schon so ziemlich was ich gesucht habe.</p>
<p>Mein Problem ist jetzt nur, einen eindeutigen key für jeden Vertex zu generieren.</p>
<p>Da ich nicht wirklich Marching Cubes, sondern einen selbst entwickelten Algorithmus zum triangulieren des Volumens verwende,<br />
habe ich Vertices, deren xyz-Koordinaten floats von 0 bis 255 sein können.</p>
<p>Am liebsten würde ich als key den Positionsvektor der Vertices nehmen, was mit std::map aber leider nicht kompatibel ist.</p>
<p>Meine Idee war, aus dem Vector einen Integer-key zu machen (x = 100.5, y = 56.0, z = 242.5 --&gt; 100505602425), aber die Länge sprengt ja leider den Rahmen.</p>
<p>Kann mir vielleicht jemand weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742644</guid><dc:creator><![CDATA[t0bsen]]></dc:creator><pubDate>Tue, 14 Jul 2009 10:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Tue, 14 Jul 2009 13:28:05 GMT]]></title><description><![CDATA[<blockquote>
<p>was mit std::map aber leider nicht kompatibel ist.</p>
</blockquote>
<p>Doch, das geht. Du musst nur einen entsprechend &lt; Funktion/Operator definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742785</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 14 Jul 2009 13:28:05 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Tue, 14 Jul 2009 13:53:32 GMT]]></title><description><![CDATA[<p>t0bsen schrieb:</p>
<blockquote>
<p>Meine Idee war, aus dem Vector einen Integer-key zu machen (x = 100.5, y = 56.0, z = 242.5 --&gt; 100505602425), aber die Länge sprengt ja leider den Rahmen.</p>
</blockquote>
<p>Nimm doch einfach einen string als key:</p>
<p>&quot;100.5;56.;242.5&quot;</p>
<p>Eindeutigkeit erreichst Du, indem Du &quot;trailing zeros&quot; bei den Nachkommastellen weglässt (siehe Beispiel oben) oder auf eine feste Anzahl Nachkommastellen normierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742806</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Tue, 14 Jul 2009 13:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Tue, 14 Jul 2009 14:26:08 GMT]]></title><description><![CDATA[<p>Um ehrlich zu sein: das ist eine dumme Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742829</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 14 Jul 2009 14:26:08 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Thu, 16 Jul 2009 06:54:24 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Um ehrlich zu sein: das ist eine dumme Idee.</p>
</blockquote>
<p>Wenn Du schon sowas von Dir gibst, dann solltest Du das auch begründen. So ein Beitrag hilft dem TO in keiner Weise weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1743918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1743918</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Thu, 16 Jul 2009 06:54:24 GMT</pubDate></item><item><title><![CDATA[Reply to Performanz Steigerung von Marching Cubes on Thu, 16 Jul 2009 13:24:49 GMT]]></title><description><![CDATA[<p>Ich denke, es geht darum, daß das Generieren des Keys bestehend aus Strings, die ja erst aus den Koordinaten erstellt werden müssen, teuer ist. Nimm doch als Key einfach den Index den vertices im Array oder so was.</p>
<p>Gruß Kimmi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1744232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1744232</guid><dc:creator><![CDATA[kimmi]]></dc:creator><pubDate>Thu, 16 Jul 2009 13:24:49 GMT</pubDate></item></channel></rss>