<?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[designfrage renderer]]></title><description><![CDATA[<p>hallo, ich habe gerade ein kleines problem bzgl. meinem klassendesign meines renderers. ich habe eine abstrakte klasse namens sceneobject, von der all meine objekttypen (kreise usw) ableiten. dann habe ich eine klasse scene, die eine menge dieser sceneobject's managed.</p>
<p>nun das problem: wie muss ich das ganze gestalten damit ich schlussendlich eine saubere syntax habe a la:</p>
<pre><code>scene myscene;
myscene.viewport = //
myscene.add( //
myscene.render(bitmap_handle(&quot;test.bmp&quot;));
myscene.render(glut_window(&quot;test&quot;, 640, 480));
</code></pre>
<p>meine gedanken waren:<br />
1. diese handles müssen meine scene-objekte rendern können (über eine funktion draw() z.b.), das problem dann ist aber, wie ich herausfinde, ob es sich bei sceneobject um einen kreis oder um eine box handelt und wie ich dann die korrekten daten (unterscheidet sich ja je nach sceneobject) übergebe.</p>
<p>2. die sceneobject haben eine funktion (z.b. draw_to(handle&amp;) const), mit der sie sich selbst in die unterstützten handles reinzeichen können. nachteil: einmal in der basisklasse scene verankert, muss jede abgeleitete klasse in dieses handle reinzeichnen können, unabhängig ob es von nöten ist oder nicht.</p>
<p>sorry, klingt ein wenig verworren das ganze...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320932/designfrage-renderer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 13:14:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320932.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Oct 2013 14:30:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to designfrage renderer on Thu, 17 Oct 2013 14:30:12 GMT]]></title><description><![CDATA[<p>hallo, ich habe gerade ein kleines problem bzgl. meinem klassendesign meines renderers. ich habe eine abstrakte klasse namens sceneobject, von der all meine objekttypen (kreise usw) ableiten. dann habe ich eine klasse scene, die eine menge dieser sceneobject's managed.</p>
<p>nun das problem: wie muss ich das ganze gestalten damit ich schlussendlich eine saubere syntax habe a la:</p>
<pre><code>scene myscene;
myscene.viewport = //
myscene.add( //
myscene.render(bitmap_handle(&quot;test.bmp&quot;));
myscene.render(glut_window(&quot;test&quot;, 640, 480));
</code></pre>
<p>meine gedanken waren:<br />
1. diese handles müssen meine scene-objekte rendern können (über eine funktion draw() z.b.), das problem dann ist aber, wie ich herausfinde, ob es sich bei sceneobject um einen kreis oder um eine box handelt und wie ich dann die korrekten daten (unterscheidet sich ja je nach sceneobject) übergebe.</p>
<p>2. die sceneobject haben eine funktion (z.b. draw_to(handle&amp;) const), mit der sie sich selbst in die unterstützten handles reinzeichen können. nachteil: einmal in der basisklasse scene verankert, muss jede abgeleitete klasse in dieses handle reinzeichnen können, unabhängig ob es von nöten ist oder nicht.</p>
<p>sorry, klingt ein wenig verworren das ganze...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2360915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2360915</guid><dc:creator><![CDATA[not smart]]></dc:creator><pubDate>Thu, 17 Oct 2013 14:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to designfrage renderer on Thu, 17 Oct 2013 14:31:11 GMT]]></title><description><![CDATA[<p>nachtrag: einfach ein adapter-pattern zu machen geht natürlich nicht, da z.b. gl eigene funktionen hat für gewisse formen, die man beim bitmap software-rasterizen müsste...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2360916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2360916</guid><dc:creator><![CDATA[not smart]]></dc:creator><pubDate>Thu, 17 Oct 2013 14:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to designfrage renderer on Thu, 17 Oct 2013 14:38:36 GMT]]></title><description><![CDATA[<p>not smart schrieb:</p>
<blockquote>
<p>nachteil: einmal in der basisklasse <s>scene</s><strong>sceneobject</strong> verankert, [...]</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2360917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2360917</guid><dc:creator><![CDATA[not smart]]></dc:creator><pubDate>Thu, 17 Oct 2013 14:38:36 GMT</pubDate></item><item><title><![CDATA[Reply to designfrage renderer on Thu, 17 Oct 2013 14:42:14 GMT]]></title><description><![CDATA[<p>not smart schrieb:</p>
<blockquote>
<p>...das problem dann ist aber, wie ich herausfinde, ob es sich bei sceneobject um einen kreis oder um eine box handelt...</p>
</blockquote>
<p>Gar nicht. Brauchst du nicht.</p>
<pre><code>struct scene{
    virtual void draw(OpenglKram *oglk) const = 0;
};

struct Kreis : public scene{
    void draw(OpenglKram *oglk) const override{
        //ich weiß dass ich ein Kreis bin und wie ich mich mithilfe von OpenglKram male
    }
};
</code></pre>
<p>Der OpenglKram ist für alle scene-Objekte gleich und wie die sich malen ist ihre Sache. Es gibt keine allgemeine draw-Funktion die ein scene-Objekt nimmt, sondern nur spezielle draw-Funktionen, jeweils eine pro Ableitung von scene.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2360919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2360919</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Thu, 17 Oct 2013 14:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to designfrage renderer on Thu, 17 Oct 2013 16:25:17 GMT]]></title><description><![CDATA[<p>Ich habe das Problem nicht verstanden, deswegen werfe ich mal double dispatch in den Raum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2360948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2360948</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 17 Oct 2013 16:25:17 GMT</pubDate></item><item><title><![CDATA[Reply to designfrage renderer on Fri, 18 Oct 2013 08:16:26 GMT]]></title><description><![CDATA[<p>ja denke die möglichkeit von nwp3 ist gut, da ich aktuell eh kaum rendering-targets habe...</p>
<p>danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361084</guid><dc:creator><![CDATA[not smart]]></dc:creator><pubDate>Fri, 18 Oct 2013 08:16:26 GMT</pubDate></item></channel></rss>