dark layer uses a framebuffer to dark areas of the screen (e.g. in the abyss)<div><br></div><div>however, there should be a version in the code that doesn't use a framebuffer...<br><br><div class="gmail_quote">2010/6/17 Andrea Palmatè <span dir="ltr"><<a href="mailto:andrea@amigasoft.net">andrea@amigasoft.net</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div bgcolor="#ffffff" text="#000000">
Here it is The Guilty..<br>
<br>
if (darkLayer.isUsed() )<br>
{<br>
/*<br>
if (i == darkLayer.getLayer())<br>
{<br>
darkLayer.preRender();<br>
}<br>
*/<br>
if (i == darkLayer.getRenderLayer())<br>
{<br>
darkLayer.render();<br>
}<br>
<br>
if (i == darkLayer.getLayer() && startLayer != i)<br>
{<br>
continue;<br>
}<br>
}<br>
<br>
wrapping it into a fantastic #if 0 (it will be #ifndef __amigaos4__)
allow the game to be playable in all ist charm! ;)<br>
Now my question is.. what is used for since if i remove it all seems
like on Linux version?<br>
<br>
Il 17/06/2010 13.50, Andrew Church ha scritto:
<blockquote type="cite">
<blockquote type="cite">
<pre>I don't understand the strange effect that is present on the game (see
my second screenshot). It seems like there is a "layer" on top of the
game screen that avoid to show the game..
</pre>
</blockquote>
<pre>There are some "overlay" layers used for things like fadeouts and the
"red-out" effect when Naija is low on health. It's always possible that
your GL implementation isn't processing alpha correctly for those quads.
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre>Beyond that, you'll probably have to dive into the actual rendering code
and insert some test GL calls to locate the problem.
</pre>
</blockquote>
<pre>But where? i'm trying to follow the flow that starts to ::addTexture but
is not so simply..
</pre>
</blockquote>
<pre>The basic rendering flow goes like this:
Core::render() { // Called from main loop
for (r = each render layer) { // See "enum Layers" in DSQ.h
for (pass = each pass in r) { // Some layers have multiple passes
for (robj = each RenderObject in r) {
robj->render() { // May be overridden, e.g. by Quad
if (this RenderObject is visible) {
this->onRender(); // Virtual method for actual rendering
}
}
}
}
}
}
Most RenderObjects are also Quads, so you may want to drop some debugging
code into Quad::onRender() and see what's going on. You could also try
disabling specific layers in Core::render() -- after this line:
int i = renderObjectLayerOrder[c];
add something like
if (i == 67) continue; // 67 == LR_OVERLAY (count lines from LR_ZERO)
to disable a layer and see how that changes the output.
--Andrew Church
<a href="mailto:achurch@achurch.org" target="_blank">achurch@achurch.org</a>
<a href="http://achurch.org/" target="_blank">http://achurch.org/</a>
_______________________________________________
aquaria mailing list
<a href="mailto:aquaria@icculus.org" target="_blank">aquaria@icculus.org</a>
<a href="http://icculus.org/mailman/listinfo/aquaria" target="_blank">http://icculus.org/mailman/listinfo/aquaria</a>
__________ Informazione NOD32 4812 (20100128) __________
Questo messaggio è stato controllato dal Sistema Antivirus NOD32
<a href="http://www.nod32.it" target="_blank">http://www.nod32.it</a>
</pre>
</blockquote>
<br><font color="#888888">
<br>
<div>-- <br>
<p><font size="4"><strong>Andrea Palmatè</strong><br>
<font face="Times"><a href="http://www.amigasoft.net" target="_blank">http://www.amigasoft.net</a></font></font></p>
</div>
</font></div>
<br>_______________________________________________<br>
aquaria mailing list<br>
<a href="mailto:aquaria@icculus.org">aquaria@icculus.org</a><br>
<a href="http://icculus.org/mailman/listinfo/aquaria" target="_blank">http://icculus.org/mailman/listinfo/aquaria</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Alec Holowka<br><a href="http://www.infiniteammo.ca">www.infiniteammo.ca</a><br><a href="http://www.bit-blot.com">www.bit-blot.com</a><br>
</div>