[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-24 Thread Nightwolf
That's odd.
Anyway I've just resent you email.

The point sprites project works OK on HTC G1 (Android 1.6).

On 24 окт, 11:25, MobileVisuals  wrote:
> No, I didn't get the sample project, but it would be interested to see
> it, so could you send it again? Have you tested it on HTC devices?
>
> I don't get any black squares around the particles with my Quad
> approach either.
>
> On Oct 22, 12:59 pm, Nightwolf  wrote:
>
>
>
> > Did you get a sample project I sent you earlier? It uses point sprites
> > and has no black squares around particles.
>
> > On 21 ÏËÔ, 15:20, MobileVisuals  wrote:
>
> > > I solved this problem now for the morphed animation. I used a TreSet
> > > for the sorting. I made a Quad class and and added the quads to the
> > > treeset for each draw. The TreeSet šthen sorts them in an automatic
> > > way.
>
> > > It's not as fast as with real Point sprites and size attenuation, but
> > > the speed is OK. This really took a long time to fix. I am still going
> > > to write to the HTC support, just to let them know that they haven't
> > > implemented Android in the right way.
>
> > > On Oct 14, 10:39šam, MobileVisuals  wrote:
>
> > > > The morphed positions for the stars are calculated from some
> > > > precalculated 3d arrays, one 3d array for each single galaxy shape,
> > > > like below.
> > > > positionsM1 and positionsM2 are the two 3d arrays, which get morphed
> > > > for this frame. The result is the new morphedPositions array, which is
> > > > drawn later. I can't find any frame-to-frame coherency here. I am
> > > > considering to start with another 3d animation instead, which doesn't
> > > > use morphing, because I don't have a clue how to make an effective and
> > > > fast sorting algorithm for this:
>
> > > > for (int i = 0; i < morphedPositions.length; i++) {
> > > > š š š š š š š š š š š š morphedPositions[i] = (morphcount * 
> > > > positionsM1[i]) * mlInv
> > > > š š š š š š š š š š š š š š š š š š š š + ((morphLength - morphcount) * 
> > > > positionsM2[i]) * mlInv;
> > > > š š š š š š š š }
>
> > > > On Oct 14, 10:17šam, Latimerius  wrote:
>
> > > > > On Wed, Oct 12, 2011 at 7:09 PM, MobileVisuals 
> > > > >  wrote:
> > > > > > Thanks a lot for the info! The problem is that the positions for the
> > > > > > stars change for each new frame. This happens because the positions
> > > > > > are morphed.Wouldn't it be very slow to sort all the positions
> > > > > > according to their z-value for every frame?
>
> > > > > I'd take a close look at my positions morphing algorithm. šHow does
> > > > > the z-order change frame-to-frame? šI doubt it can change randomly,
> > > > > there will be some kind of frame-to-frame coherency - perhaps just a
> > > > > bunch of fix-ups are needed from the previous frame? šI'd try to take
> > > > > advantage of that, it should reduce your problem from a general full
> > > > > sorting one to something possibly way smaller.
>
> > > > > > Wouldn't I have to make one drawElements call for each quad if I 
> > > > > > sorted them?
>
> > > > > Not necessarily. šTry keeping vertex positions data in system memory
> > > > > (i.e. in normal Java objects). šBefore rendering each frame you
> > > > > recompute positions, reshuffle the data to restore back-to-front order
> > > > > and make a single VBO out of that. šYou could check glBufferSubData()
> > > > > and similar to avoid transferring all of the data over the bus into
> > > > > VRAM each frame. šYou can then issue a single glDrawElements() to
> > > > > render the whole thing.
>
> > > > > How exactly to do that depends on your particular algorithm but it
> > > > > should be possible.
>
> > > > > > I assume that would be a lot slower than one drawElements call for 
> > > > > > all of the quads,
> > > > > > as it is now.
>
> > > > > I understand your worries, they are well grounded. šTrying to do a
> > > > > more complex thing will usually mean your performance takes a hit.
> > > > > However, I found out in a surprising amount of cases that a thing I
> > > > > would have expected to be prohibitively slow performed very well. GPUs
> > > > > are complex beasts, they can parallelise, hide latencies and all kinds
> > > > > of stuff. šYou never know until you try.
>
> > > > > And, above all, remember that you can hardly make your renders look
> > > > > right if you use translucency with depth-buffering but don't sort
> > > > > back-to-front. šSo my strategy would be implement the sorting to make
> > > > > stuff look right, then look into how to restore plausible performance
> > > > > if needed.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-24 Thread MobileVisuals
No, I didn't get the sample project, but it would be interested to see
it, so could you send it again? Have you tested it on HTC devices?

I don't get any black squares around the particles with my Quad
approach either.

On Oct 22, 12:59 pm, Nightwolf  wrote:
> Did you get a sample project I sent you earlier? It uses point sprites
> and has no black squares around particles.
>
> On 21 ÏËÔ, 15:20, MobileVisuals  wrote:
>
> > I solved this problem now for the morphed animation. I used a TreSet
> > for the sorting. I made a Quad class and and added the quads to the
> > treeset for each draw. The TreeSet šthen sorts them in an automatic
> > way.
>
> > It's not as fast as with real Point sprites and size attenuation, but
> > the speed is OK. This really took a long time to fix. I am still going
> > to write to the HTC support, just to let them know that they haven't
> > implemented Android in the right way.
>
> > On Oct 14, 10:39šam, MobileVisuals  wrote:
>
> > > The morphed positions for the stars are calculated from some
> > > precalculated 3d arrays, one 3d array for each single galaxy shape,
> > > like below.
> > > positionsM1 and positionsM2 are the two 3d arrays, which get morphed
> > > for this frame. The result is the new morphedPositions array, which is
> > > drawn later. I can't find any frame-to-frame coherency here. I am
> > > considering to start with another 3d animation instead, which doesn't
> > > use morphing, because I don't have a clue how to make an effective and
> > > fast sorting algorithm for this:
>
> > > for (int i = 0; i < morphedPositions.length; i++) {
> > > š š š š š š š š š š š š morphedPositions[i] = (morphcount * 
> > > positionsM1[i]) * mlInv
> > > š š š š š š š š š š š š š š š š š š š š + ((morphLength - morphcount) * 
> > > positionsM2[i]) * mlInv;
> > > š š š š š š š š }
>
> > > On Oct 14, 10:17šam, Latimerius  wrote:
>
> > > > On Wed, Oct 12, 2011 at 7:09 PM, MobileVisuals 
> > > >  wrote:
> > > > > Thanks a lot for the info! The problem is that the positions for the
> > > > > stars change for each new frame. This happens because the positions
> > > > > are morphed.Wouldn't it be very slow to sort all the positions
> > > > > according to their z-value for every frame?
>
> > > > I'd take a close look at my positions morphing algorithm. šHow does
> > > > the z-order change frame-to-frame? šI doubt it can change randomly,
> > > > there will be some kind of frame-to-frame coherency - perhaps just a
> > > > bunch of fix-ups are needed from the previous frame? šI'd try to take
> > > > advantage of that, it should reduce your problem from a general full
> > > > sorting one to something possibly way smaller.
>
> > > > > Wouldn't I have to make one drawElements call for each quad if I 
> > > > > sorted them?
>
> > > > Not necessarily. šTry keeping vertex positions data in system memory
> > > > (i.e. in normal Java objects). šBefore rendering each frame you
> > > > recompute positions, reshuffle the data to restore back-to-front order
> > > > and make a single VBO out of that. šYou could check glBufferSubData()
> > > > and similar to avoid transferring all of the data over the bus into
> > > > VRAM each frame. šYou can then issue a single glDrawElements() to
> > > > render the whole thing.
>
> > > > How exactly to do that depends on your particular algorithm but it
> > > > should be possible.
>
> > > > > I assume that would be a lot slower than one drawElements call for 
> > > > > all of the quads,
> > > > > as it is now.
>
> > > > I understand your worries, they are well grounded. šTrying to do a
> > > > more complex thing will usually mean your performance takes a hit.
> > > > However, I found out in a surprising amount of cases that a thing I
> > > > would have expected to be prohibitively slow performed very well. GPUs
> > > > are complex beasts, they can parallelise, hide latencies and all kinds
> > > > of stuff. šYou never know until you try.
>
> > > > And, above all, remember that you can hardly make your renders look
> > > > right if you use translucency with depth-buffering but don't sort
> > > > back-to-front. šSo my strategy would be implement the sorting to make
> > > > stuff look right, then look into how to restore plausible performance
> > > > if needed.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-22 Thread Nightwolf
Did you get a sample project I sent you earlier? It uses point sprites
and has no black squares around particles.

On 21 окт, 15:20, MobileVisuals  wrote:
> I solved this problem now for the morphed animation. I used a TreSet
> for the sorting. I made a Quad class and and added the quads to the
> treeset for each draw. The TreeSet  then sorts them in an automatic
> way.
>
> It's not as fast as with real Point sprites and size attenuation, but
> the speed is OK. This really took a long time to fix. I am still going
> to write to the HTC support, just to let them know that they haven't
> implemented Android in the right way.
>
> On Oct 14, 10:39 am, MobileVisuals  wrote:
>
>
>
> > The morphed positions for the stars are calculated from some
> > precalculated 3d arrays, one 3d array for each single galaxy shape,
> > like below.
> > positionsM1 and positionsM2 are the two 3d arrays, which get morphed
> > for this frame. The result is the new morphedPositions array, which is
> > drawn later. I can't find any frame-to-frame coherency here. I am
> > considering to start with another 3d animation instead, which doesn't
> > use morphing, because I don't have a clue how to make an effective and
> > fast sorting algorithm for this:
>
> > for (int i = 0; i < morphedPositions.length; i++) {
> >                         morphedPositions[i] = (morphcount * positionsM1[i]) 
> > * mlInv
> >                                         + ((morphLength - morphcount) * 
> > positionsM2[i]) * mlInv;
> >                 }
>
> > On Oct 14, 10:17 am, Latimerius  wrote:
>
> > > On Wed, Oct 12, 2011 at 7:09 PM, MobileVisuals  
> > > wrote:
> > > > Thanks a lot for the info! The problem is that the positions for the
> > > > stars change for each new frame. This happens because the positions
> > > > are morphed.Wouldn't it be very slow to sort all the positions
> > > > according to their z-value for every frame?
>
> > > I'd take a close look at my positions morphing algorithm.  How does
> > > the z-order change frame-to-frame?  I doubt it can change randomly,
> > > there will be some kind of frame-to-frame coherency - perhaps just a
> > > bunch of fix-ups are needed from the previous frame?  I'd try to take
> > > advantage of that, it should reduce your problem from a general full
> > > sorting one to something possibly way smaller.
>
> > > > Wouldn't I have to make one drawElements call for each quad if I sorted 
> > > > them?
>
> > > Not necessarily.  Try keeping vertex positions data in system memory
> > > (i.e. in normal Java objects).  Before rendering each frame you
> > > recompute positions, reshuffle the data to restore back-to-front order
> > > and make a single VBO out of that.  You could check glBufferSubData()
> > > and similar to avoid transferring all of the data over the bus into
> > > VRAM each frame.  You can then issue a single glDrawElements() to
> > > render the whole thing.
>
> > > How exactly to do that depends on your particular algorithm but it
> > > should be possible.
>
> > > > I assume that would be a lot slower than one drawElements call for all 
> > > > of the quads,
> > > > as it is now.
>
> > > I understand your worries, they are well grounded.  Trying to do a
> > > more complex thing will usually mean your performance takes a hit.
> > > However, I found out in a surprising amount of cases that a thing I
> > > would have expected to be prohibitively slow performed very well. GPUs
> > > are complex beasts, they can parallelise, hide latencies and all kinds
> > > of stuff.  You never know until you try.
>
> > > And, above all, remember that you can hardly make your renders look
> > > right if you use translucency with depth-buffering but don't sort
> > > back-to-front.  So my strategy would be implement the sorting to make
> > > stuff look right, then look into how to restore plausible performance
> > > if needed.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-21 Thread MobileVisuals
I solved this problem now for the morphed animation. I used a TreSet
for the sorting. I made a Quad class and and added the quads to the
treeset for each draw. The TreeSet  then sorts them in an automatic
way.

It's not as fast as with real Point sprites and size attenuation, but
the speed is OK. This really took a long time to fix. I am still going
to write to the HTC support, just to let them know that they haven't
implemented Android in the right way.

On Oct 14, 10:39 am, MobileVisuals  wrote:
> The morphed positions for the stars are calculated from some
> precalculated 3d arrays, one 3d array for each single galaxy shape,
> like below.
> positionsM1 and positionsM2 are the two 3d arrays, which get morphed
> for this frame. The result is the new morphedPositions array, which is
> drawn later. I can't find any frame-to-frame coherency here. I am
> considering to start with another 3d animation instead, which doesn't
> use morphing, because I don't have a clue how to make an effective and
> fast sorting algorithm for this:
>
> for (int i = 0; i < morphedPositions.length; i++) {
>                         morphedPositions[i] = (morphcount * positionsM1[i]) * 
> mlInv
>                                         + ((morphLength - morphcount) * 
> positionsM2[i]) * mlInv;
>                 }
>
> On Oct 14, 10:17 am, Latimerius  wrote:
>
> > On Wed, Oct 12, 2011 at 7:09 PM, MobileVisuals  
> > wrote:
> > > Thanks a lot for the info! The problem is that the positions for the
> > > stars change for each new frame. This happens because the positions
> > > are morphed.Wouldn't it be very slow to sort all the positions
> > > according to their z-value for every frame?
>
> > I'd take a close look at my positions morphing algorithm.  How does
> > the z-order change frame-to-frame?  I doubt it can change randomly,
> > there will be some kind of frame-to-frame coherency - perhaps just a
> > bunch of fix-ups are needed from the previous frame?  I'd try to take
> > advantage of that, it should reduce your problem from a general full
> > sorting one to something possibly way smaller.
>
> > > Wouldn't I have to make one drawElements call for each quad if I sorted 
> > > them?
>
> > Not necessarily.  Try keeping vertex positions data in system memory
> > (i.e. in normal Java objects).  Before rendering each frame you
> > recompute positions, reshuffle the data to restore back-to-front order
> > and make a single VBO out of that.  You could check glBufferSubData()
> > and similar to avoid transferring all of the data over the bus into
> > VRAM each frame.  You can then issue a single glDrawElements() to
> > render the whole thing.
>
> > How exactly to do that depends on your particular algorithm but it
> > should be possible.
>
> > > I assume that would be a lot slower than one drawElements call for all of 
> > > the quads,
> > > as it is now.
>
> > I understand your worries, they are well grounded.  Trying to do a
> > more complex thing will usually mean your performance takes a hit.
> > However, I found out in a surprising amount of cases that a thing I
> > would have expected to be prohibitively slow performed very well. GPUs
> > are complex beasts, they can parallelise, hide latencies and all kinds
> > of stuff.  You never know until you try.
>
> > And, above all, remember that you can hardly make your renders look
> > right if you use translucency with depth-buffering but don't sort
> > back-to-front.  So my strategy would be implement the sorting to make
> > stuff look right, then look into how to restore plausible performance
> > if needed.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-14 Thread MobileVisuals
The morphed positions for the stars are calculated from some
precalculated 3d arrays, one 3d array for each single galaxy shape,
like below.
positionsM1 and positionsM2 are the two 3d arrays, which get morphed
for this frame. The result is the new morphedPositions array, which is
drawn later. I can't find any frame-to-frame coherency here. I am
considering to start with another 3d animation instead, which doesn't
use morphing, because I don't have a clue how to make an effective and
fast sorting algorithm for this:

for (int i = 0; i < morphedPositions.length; i++) {
morphedPositions[i] = (morphcount * positionsM1[i]) * 
mlInv
+ ((morphLength - morphcount) * 
positionsM2[i]) * mlInv;
}

On Oct 14, 10:17 am, Latimerius  wrote:
> On Wed, Oct 12, 2011 at 7:09 PM, MobileVisuals  
> wrote:
> > Thanks a lot for the info! The problem is that the positions for the
> > stars change for each new frame. This happens because the positions
> > are morphed.Wouldn't it be very slow to sort all the positions
> > according to their z-value for every frame?
>
> I'd take a close look at my positions morphing algorithm.  How does
> the z-order change frame-to-frame?  I doubt it can change randomly,
> there will be some kind of frame-to-frame coherency - perhaps just a
> bunch of fix-ups are needed from the previous frame?  I'd try to take
> advantage of that, it should reduce your problem from a general full
> sorting one to something possibly way smaller.
>
> > Wouldn't I have to make one drawElements call for each quad if I sorted 
> > them?
>
> Not necessarily.  Try keeping vertex positions data in system memory
> (i.e. in normal Java objects).  Before rendering each frame you
> recompute positions, reshuffle the data to restore back-to-front order
> and make a single VBO out of that.  You could check glBufferSubData()
> and similar to avoid transferring all of the data over the bus into
> VRAM each frame.  You can then issue a single glDrawElements() to
> render the whole thing.
>
> How exactly to do that depends on your particular algorithm but it
> should be possible.
>
> > I assume that would be a lot slower than one drawElements call for all of 
> > the quads,
> > as it is now.
>
> I understand your worries, they are well grounded.  Trying to do a
> more complex thing will usually mean your performance takes a hit.
> However, I found out in a surprising amount of cases that a thing I
> would have expected to be prohibitively slow performed very well. GPUs
> are complex beasts, they can parallelise, hide latencies and all kinds
> of stuff.  You never know until you try.
>
> And, above all, remember that you can hardly make your renders look
> right if you use translucency with depth-buffering but don't sort
> back-to-front.  So my strategy would be implement the sorting to make
> stuff look right, then look into how to restore plausible performance
> if needed.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


Re: [android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-14 Thread Latimerius
On Wed, Oct 12, 2011 at 7:09 PM, MobileVisuals  wrote:
> Thanks a lot for the info! The problem is that the positions for the
> stars change for each new frame. This happens because the positions
> are morphed.Wouldn't it be very slow to sort all the positions
> according to their z-value for every frame?

I'd take a close look at my positions morphing algorithm.  How does
the z-order change frame-to-frame?  I doubt it can change randomly,
there will be some kind of frame-to-frame coherency - perhaps just a
bunch of fix-ups are needed from the previous frame?  I'd try to take
advantage of that, it should reduce your problem from a general full
sorting one to something possibly way smaller.

> Wouldn't I have to make one drawElements call for each quad if I sorted them?

Not necessarily.  Try keeping vertex positions data in system memory
(i.e. in normal Java objects).  Before rendering each frame you
recompute positions, reshuffle the data to restore back-to-front order
and make a single VBO out of that.  You could check glBufferSubData()
and similar to avoid transferring all of the data over the bus into
VRAM each frame.  You can then issue a single glDrawElements() to
render the whole thing.

How exactly to do that depends on your particular algorithm but it
should be possible.

> I assume that would be a lot slower than one drawElements call for all of the 
> quads,
> as it is now.

I understand your worries, they are well grounded.  Trying to do a
more complex thing will usually mean your performance takes a hit.
However, I found out in a surprising amount of cases that a thing I
would have expected to be prohibitively slow performed very well. GPUs
are complex beasts, they can parallelise, hide latencies and all kinds
of stuff.  You never know until you try.

And, above all, remember that you can hardly make your renders look
right if you use translucency with depth-buffering but don't sort
back-to-front.  So my strategy would be implement the sorting to make
stuff look right, then look into how to restore plausible performance
if needed.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-12 Thread MobileVisuals
Thanks a lot for the info! The problem is that the positions for the
stars change for each new frame. This happens because the positions
are morphed.Wouldn't it be very slow to sort all the positions
according to their z-value for every frame? Wouldn't I have to make
one drawElements call for each quad if I sorted them? I assume that
would be a lot slower than one drawElements call for all of the quads,
as it is now.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


Re: [android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-11 Thread Latimerius
On Tue, Oct 11, 2011 at 8:38 PM, MobileVisuals  wrote:
> I see, now I understand the color4f method. I can't sort the
> transparent sprites back-to-front,because they are all in one vertex
> array. It would be much slower if I had one vertex array for each
> quad, because it would be so many drawArray calls.

Think about your problem from the depth sorting perspective.  Again, I
don't know what exactly you are doing but your geometry looks quite
regular to me - perhaps the depth sorting, once established, never
changes?

If you're drawing everything in a single glDrawArrays() call then all
of your quads share the same transformation (the same values you pass
to glTranslate()/glRotate()/glScale()).  If that's the case your
geometry is likely pre-transformed (you transform vertices of each
quad before putting them into the array) - could you sort the quads as
you transform them?

Try to take advantage of any problem-specific knowledge you have (and
I don't).  In my experience it's rather unlikely that you're unable to
do the required depth sorting.

> I will only use one layer of quads from now on. But the particles in
> the animation are morphed, so one particle will sometimes be placed
> above another.
> Do you mean that this will always result in black quads?

Unfortunately yes.  When using translucency with depth buffering I
don't know of any other solution, in general.

To understand this consider you draw a partially transparent quad,
just like one of yours.  Its transparent pixels will not change the
frame buffer since they are transparent - the corresponding frame
buffer pixels will stay at your clear colour.  However, the quad also
writes into the depth buffer.

Now, consider another quad comes that (partially) overlaps with the
first one and should be visible where the first quad had transparent
parts.  Also consider that this second quad can be further away from
the camera which can well happen since your quads are *not*
back-to-front sorted.  The second quad will be prevented by depth test
from writing to any pixels touched by the first quad.  This means your
clear colour remains where the first sprite was
transparent/translucent.  Hence your black rectangle - a quad close to
camera comes first and blocks other quads further away from the camera
from writing over it.

I'm afraid you will have to figure out how to depth-sort your geometry
properly.  As I said before, it shouldn't be *that* tough. ;-)

> I will only use star1.png for testing,since you said that image was
> correct. I used this guide to add the alpha channel:
> http://fabiovisentin.com/tutorial/gimp_transparent_image/gimp_how_to_make_transparent_image.asp

That is a fine tutorial, however you will notice the example image has
(perhaps apart from some anti-aliasing) sharp edges.  The process they
describe there is appropriate for that sort of images.  However, your
stuff is supposed to smoothly blend into its surroundings, with no
defined edge, pretty much.  The process from the tutorial is not well
suited for this kind of image.

Consider getting rid of the black component in your art for instance
by loading it into Gimp, then going to Colours->Colour to Alpha... and
setting the colour to black.  I checked and even star1.png seems to
have more black in it than would look right ...

Only you know what you're trying to achieve so this might or might not
be an appropriate fix.  To me, your art fixed like this looks about
right and ready for some serious blending. ;-)

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-11 Thread MobileVisuals
I see, now I understand the color4f method. I can't sort the
transparent sprites back-to-front,because they are all in one vertex
array. It would be much slower if I had one vertex array for each
quad, because it would be so many drawArray calls.

I will only use one layer of quads from now on. But the particles in
the animation are morphed, so one particle will sometimes be placed
above another.
Do you mean that this will always result in black quads?

I will only use star1.png for testing,since you said that image was
correct. I used this guide to add the alpha channel:
http://fabiovisentin.com/tutorial/gimp_transparent_image/gimp_how_to_make_transparent_image.asp

On Oct 11, 4:22 pm, Latimerius  wrote:
> Hello, my guess would be you don't sort your transparent sprites
> back-to-front, do you?
>
> For a couple more comments please see inline:
>
> On Tue, Oct 11, 2011 at 11:51 AM, MobileVisuals
>
>
>
>  wrote:
> > before. I tried to remove the gl.glColor4f calls, but that made the
> > black square quads much more visible. This is how it looks like now,
> > with gl.glColor4f(1f, 1f, 1f, 0.4f);
>
> >http://www.mobile-visuals.com/color4f04.png
>
> > with gl.glColor4f(1f, 1f, 1f, 0.8f);
>
> >http://www.mobile-visuals.com/color4f08.png
>
> > with no with gl.glColor4f calls:
>
> >http://www.mobile-visuals.com/noColor4f.png
>
> > This shows that with higher alpha value in glColor4f, the more black
> > square quads. It also shows that the
> > smaller alpha value in glColor4f, the more dull result.
>
> glColor() used with texturing simply modulates the texel colours in
> your case.  By specifying (1,1,1, <1) you leave the hue alone but add
> 0.4f or 0.8f transparency.  Smaller alpha means dull because whatever
> you draw becomes almost transparent.  Similarly, higher alpha means
> what you draw is more visible, including the black artifacts.
>
> > This how the
> > source textures looks like now:
>
> >http://www.mobile-visuals.com/trance1.png
> >http://www.mobile-visuals.com/star1.png
> >http://www.mobile-visuals.com/star2.png
>
> BTW apart from star1.png these assets don't look correctly authored to
> me.  I don't know exactly what you're trying to achieve but I believe
> trance1.png and star2.png wouldn't work on a non-black background.
>
> > I have used 2 quads for each star, placed on each other here.
>
> This is where the above might bite you.  If you draw say star2.png
> over trance1.png the black component in star2.png's pixels will start
> to show.  I don't know if that's a problem for you, depends on what
> your objectives are.
>
> > gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
>
> Make sure your art *doesn't* have premultiplied alpha.  If it does
> then specifying GL_SRC_ALPHA would apply the alpha once more causing
> transparent pixels to darken.  You'd need GL_ONE in that case.
>
> > gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE,
> >                                GL10.GL_MODULATE);
>
> I believe this is the default so you could just as well leave it out.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


Re: [android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-11 Thread Latimerius
Hello, my guess would be you don't sort your transparent sprites
back-to-front, do you?

For a couple more comments please see inline:

On Tue, Oct 11, 2011 at 11:51 AM, MobileVisuals
 wrote:
> before. I tried to remove the gl.glColor4f calls, but that made the
> black square quads much more visible. This is how it looks like now,
> with gl.glColor4f(1f, 1f, 1f, 0.4f);
>
> http://www.mobile-visuals.com/color4f04.png
>
> with gl.glColor4f(1f, 1f, 1f, 0.8f);
>
> http://www.mobile-visuals.com/color4f08.png
>
> with no with gl.glColor4f calls:
>
> http://www.mobile-visuals.com/noColor4f.png
>
> This shows that with higher alpha value in glColor4f, the more black
> square quads. It also shows that the
> smaller alpha value in glColor4f, the more dull result.

glColor() used with texturing simply modulates the texel colours in
your case.  By specifying (1,1,1, <1) you leave the hue alone but add
0.4f or 0.8f transparency.  Smaller alpha means dull because whatever
you draw becomes almost transparent.  Similarly, higher alpha means
what you draw is more visible, including the black artifacts.

> This how the
> source textures looks like now:
>
> http://www.mobile-visuals.com/trance1.png
> http://www.mobile-visuals.com/star1.png
> http://www.mobile-visuals.com/star2.png

BTW apart from star1.png these assets don't look correctly authored to
me.  I don't know exactly what you're trying to achieve but I believe
trance1.png and star2.png wouldn't work on a non-black background.

> I have used 2 quads for each star, placed on each other here.

This is where the above might bite you.  If you draw say star2.png
over trance1.png the black component in star2.png's pixels will start
to show.  I don't know if that's a problem for you, depends on what
your objectives are.

> gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);

Make sure your art *doesn't* have premultiplied alpha.  If it does
then specifying GL_SRC_ALPHA would apply the alpha once more causing
transparent pixels to darken.  You'd need GL_ONE in that case.

> gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE,
>                                GL10.GL_MODULATE);

I believe this is the default so you could just as well leave it out.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-11 Thread MobileVisuals
Thanks, it looks better when I added an alpha channel to the textures.
But I don't see that glBlendFunc(GL_SRC_ALPHA, GL_ONE)
made any difference. There are still black square quads, but less than
before. I tried to remove the gl.glColor4f calls, but that made the
black square quads much more visible. This is how it looks like now,
with gl.glColor4f(1f, 1f, 1f, 0.4f);

http://www.mobile-visuals.com/color4f04.png

with gl.glColor4f(1f, 1f, 1f, 0.8f);

http://www.mobile-visuals.com/color4f08.png

with no with gl.glColor4f calls:

http://www.mobile-visuals.com/noColor4f.png

This shows that with higher alpha value in glColor4f, the more black
square quads. It also shows that the
smaller alpha value in glColor4f, the more dull result. This how the
source textures looks like now:

http://www.mobile-visuals.com/trance1.png
http://www.mobile-visuals.com/star1.png
http://www.mobile-visuals.com/star2.png

I have used 2 quads for each star, placed on each other here. I tried
to only use one quad for each star. This improved the situation, but
the black squares quads are still visible:

http://www.mobile-visuals.com/onelayer.png

I tested with another texture and got better result, but there are
still black quads. They cover some of the stars, which makes these
stars not visible:

http://www.mobile-visuals.com/other.png

Is there something more that I can do to get as good result as with
Point sprites and size attenuation? I pasted my relevant code below.

draw method:

gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE);
gl.glEnable(GL10.GL_ALPHA_TEST);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, textureBufferS);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBufferLT);
gl.glColor4f(1f, 1f, 1f, 0.8f);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[1]);
gl.glDrawElements(GL10.GL_TRIANGLES, vertices*2,
GL10.GL_UNSIGNED_SHORT,
indiceBuffer);

gl.glDisable(GL10.GL_TEXTURE_2D);
gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
gl.glDisable(GL10.GL_BLEND);
gl.glDisable(GL10.GL_ALPHA_TEST);

surfaceCreated method:

gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
gl.glClear(GL10.GL_DEPTH_BUFFER_BIT);
gl.glEnable(GL10.GL_DEPTH_TEST);
gl.glDepthFunc(GL10.GL_LEQUAL);
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);

loadGLTexture method:

gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE,
GL10.GL_MODULATE);

bitmap1 = BitmapFactory.decodeResource(context.getResources(),
R.drawable.trance1);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, 
GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, 
GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_NEAREST);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap1, 0);

On Oct 10, 10:50 am, bdk  wrote:
> for a brighter result, try to use use additive blending:
>
>  glBlendFunc(GL_SRC_ALPHA, GL_ONE)
>
> e.g.http://stackoverflow.com/questions/393785/how-to-setup-blending-for-a...
>
> and yes, alpha should be in the png -> texture.
>
> best
>
> --
> Mathieu
>
> On Oct 8, 11:08 am, MobileVisuals  wrote:
>
> > How do you mean that I should put brightness level in the textures? I
> > have already enabled transparency with
>
> > gl.glEnable(GL10.GL_BLEND);
> > gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
> > gl.glColor4f(1f, 1f, 1f, 0.25f);
>
> > I see that the transparency have effect, but it doesn't work as well
> > as it should. I have also noticed that the black square quads are
> > visible. Do you know what I can do to get rid of the black square
> > quads? Is there any way to make it as shiny and smooth as it was with
> > point sprites?
>
> > I use this call to draw the quads:
>
> > gl.glDrawElements(GL10.GL_TRIANGLES, vertices*2,
> > GL10.GL_UNSIGNED_SHORT,indiceBuffer);
>
> > I don't think that I can use glDrawArrays,because that is for
> > TriangleStripArrays. I have 1200 particles, which makes it 4800
> > vertices in the array for the quads. The positions are morphed for
> > each repaint. Maybe that is what is making it slow,but it was fast
> > with point sprites.
>
> > Each star particle consists of 2 quads. The star particle in the
> > middle is smaller quad.  The transparent blueish blur around that
> > particle is another quad. These are drawn with 2  arrays. I draw the
> > most opaque array first (the star particle in the middle) and then the
> > more transparent array later. This approach worked very well with
> > point sprites and size attenuation, but maybe this doesn't work with
> > text

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-10 Thread bdk
for a brighter result, try to use use additive blending:

 glBlendFunc(GL_SRC_ALPHA, GL_ONE)

e.g. 
http://stackoverflow.com/questions/393785/how-to-setup-blending-for-additive-color-overlays

and yes, alpha should be in the png -> texture.

best

--
Mathieu

On Oct 8, 11:08 am, MobileVisuals  wrote:
> How do you mean that I should put brightness level in the textures? I
> have already enabled transparency with
>
> gl.glEnable(GL10.GL_BLEND);
> gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
> gl.glColor4f(1f, 1f, 1f, 0.25f);
>
> I see that the transparency have effect, but it doesn't work as well
> as it should. I have also noticed that the black square quads are
> visible. Do you know what I can do to get rid of the black square
> quads? Is there any way to make it as shiny and smooth as it was with
> point sprites?
>
> I use this call to draw the quads:
>
> gl.glDrawElements(GL10.GL_TRIANGLES, vertices*2,
> GL10.GL_UNSIGNED_SHORT,indiceBuffer);
>
> I don't think that I can use glDrawArrays,because that is for
> TriangleStripArrays. I have 1200 particles, which makes it 4800
> vertices in the array for the quads. The positions are morphed for
> each repaint. Maybe that is what is making it slow,but it was fast
> with point sprites.
>
> Each star particle consists of 2 quads. The star particle in the
> middle is smaller quad.  The transparent blueish blur around that
> particle is another quad. These are drawn with 2  arrays. I draw the
> most opaque array first (the star particle in the middle) and then the
> more transparent array later. This approach worked very well with
> point sprites and size attenuation, but maybe this doesn't work with
> texture mapped quads. Maye there are simply too much quads for the
> system to take care off, which messes up the Depth Testing and the z
> buffer. Maybe this is the reason that the transparency is not working
> like it should, which causes the visible black square quads?
>
> On Oct 7, 4:58 pm, Kostya Vasilyev  wrote:
>
>
>
>
>
>
>
> > Looking at the "dull" screenshot, I can see that your sprites are wrong
> > - they don't have transparency around the "point" itself.
>
> > The black square quads are clearly visible, and they shouldn't be.
>
> > The brightness level is what you put in the textures, you should be able
> > to make them as bright as you want.
>
> > As for performance, I haven't done any 3D work specifically on Android
> > devices, so can't say for sure. Using glDrawArrays should help, does it not?
>
> > -- Kostya
>
> > 07.10.2011 17:44, MobileVisuals пишет:
>
> > > I have implemented this according to your approach now. I replaced
> > > attenuated points with texture mapped quads.  I implemented bilinear
> > > filtering and alpha test.
> > > It works, but the visual quality is not good. It doesn't look at all
> > > as good as with Point sprites and size attenuation. It looked shiny
> > > and smooth when I used Point sprites and size attenuation and it was
> > > fast:
> > >http://www.mobile-visuals.com/mgw.php
>
> > > Now it is just rough and dull and it is slow:
> > >http://www.mobile-visuals.com/dull.png
>
> > > Are you really sure that is possible to get good visual quality with
> > > your approach?
>
> > > On Sep 29, 9:26 pm, Kostya Vasilyev  wrote:
> > >> 29.09.2011 23:01, MobileVisuals ?:
>
> > >>> I claim that HTC HD doesn't support OpenGL ES 2.0, because size
> > >>> attenuation is a part of OpenGL ES 1.1 and it is not supported.
> > >> Quite possibly, you're right...
>
> > >>> So HTC hasn't implemented the things that they say in the
> > >>> specification, but why not?
> > >> Who knows?
>
> > >> You could contact their support, but even if they provide a plausible
> > >> answer (and that's a big "if"), it's not going to magically fix all the
> > >> HTC devices out there...
>
> > >>> Thanks for the idea, do you mean like this?
> > >>> Scale to small size if the sprite is far away.
> > >>> Scale to medium size if the sprite is medium distance.
> > >>> Scale to big size if the sprite is close.
> > >> More or less - you are currently doing continuous range scaling of your
> > >> sprites (I presume). If you replace them with texture mapped quads, you
> > >> could always use the same image, or pick one of the ones predefined at
> > >> various scale factors, to improve the image quality and performance.
> > >> Sort of like mip-mapping.
>
> > >> But that's not the core idea - the main thing is to replace attenuated
> > >> points with texture mapped quads.
>
> > >>> That could work for other animations, but it would be very slow for my
> > >>> star cluster animations. There are hundreds of stars in each cluster.
> > >>> As it is now, I draw each star cluster in one single glDrawArrays
> > >>> call. That makes it fast.
> > >> Hundreds doesn't sound too bad - at those poly counts, it's the fill
> > >> rate (overdraw) that can kill performance. But since sprites are
> > >> typically small, it probably won't be an issue.
>
> > >>> Woul

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-09 Thread Nightwolf
Probably your source texture image has no any transparency. That's why
black squares are visible. Setting alpha to 0.25f makes your stars
look faded. You should not change the alpha value in glColor4f. You
should prepare star image with transparency.
Anyway I still think that it's possible to get away with point
sprites.

BTW glDrawArrays works fine with other primitive type. Not just
GL_TRIANGLE_STRIP.

On 8 окт, 13:08, MobileVisuals  wrote:
> How do you mean that I should put brightness level in the textures? I
> have already enabled transparency with
>
> gl.glEnable(GL10.GL_BLEND);
> gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
> gl.glColor4f(1f, 1f, 1f, 0.25f);
>
> I see that the transparency have effect, but it doesn't work as well
> as it should. I have also noticed that the black square quads are
> visible. Do you know what I can do to get rid of the black square
> quads? Is there any way to make it as shiny and smooth as it was with
> point sprites?
>
> I use this call to draw the quads:
>
> gl.glDrawElements(GL10.GL_TRIANGLES, vertices*2,
> GL10.GL_UNSIGNED_SHORT,indiceBuffer);
>
> I don't think that I can use glDrawArrays,because that is for
> TriangleStripArrays. I have 1200 particles, which makes it 4800
> vertices in the array for the quads. The positions are morphed for
> each repaint. Maybe that is what is making it slow,but it was fast
> with point sprites.
>
> Each star particle consists of 2 quads. The star particle in the
> middle is smaller quad.  The transparent blueish blur around that
> particle is another quad. These are drawn with 2  arrays. I draw the
> most opaque array first (the star particle in the middle) and then the
> more transparent array later. This approach worked very well with
> point sprites and size attenuation, but maybe this doesn't work with
> texture mapped quads. Maye there are simply too much quads for the
> system to take care off, which messes up the Depth Testing and the z
> buffer. Maybe this is the reason that the transparency is not working
> like it should, which causes the visible black square quads?
>
> On Oct 7, 4:58 pm, Kostya Vasilyev  wrote:
>
>
>
> > Looking at the "dull" screenshot, I can see that your sprites are wrong
> > - they don't have transparency around the "point" itself.
>
> > The black square quads are clearly visible, and they shouldn't be.
>
> > The brightness level is what you put in the textures, you should be able
> > to make them as bright as you want.
>
> > As for performance, I haven't done any 3D work specifically on Android
> > devices, so can't say for sure. Using glDrawArrays should help, does it not?
>
> > -- Kostya
>
> > 07.10.2011 17:44, MobileVisuals пишет:
>
> > > I have implemented this according to your approach now. I replaced
> > > attenuated points with texture mapped quads.  I implemented bilinear
> > > filtering and alpha test.
> > > It works, but the visual quality is not good. It doesn't look at all
> > > as good as with Point sprites and size attenuation. It looked shiny
> > > and smooth when I used Point sprites and size attenuation and it was
> > > fast:
> > >http://www.mobile-visuals.com/mgw.php
>
> > > Now it is just rough and dull and it is slow:
> > >http://www.mobile-visuals.com/dull.png
>
> > > Are you really sure that is possible to get good visual quality with
> > > your approach?
>
> > > On Sep 29, 9:26 pm, Kostya Vasilyev  wrote:
> > >> 29.09.2011 23:01, MobileVisuals ?:
>
> > >>> I claim that HTC HD doesn't support OpenGL ES 2.0, because size
> > >>> attenuation is a part of OpenGL ES 1.1 and it is not supported.
> > >> Quite possibly, you're right...
>
> > >>> So HTC hasn't implemented the things that they say in the
> > >>> specification, but why not?
> > >> Who knows?
>
> > >> You could contact their support, but even if they provide a plausible
> > >> answer (and that's a big "if"), it's not going to magically fix all the
> > >> HTC devices out there...
>
> > >>> Thanks for the idea, do you mean like this?
> > >>> Scale to small size if the sprite is far away.
> > >>> Scale to medium size if the sprite is medium distance.
> > >>> Scale to big size if the sprite is close.
> > >> More or less - you are currently doing continuous range scaling of your
> > >> sprites (I presume). If you replace them with texture mapped quads, you
> > >> could always use the same image, or pick one of the ones predefined at
> > >> various scale factors, to improve the image quality and performance.
> > >> Sort of like mip-mapping.
>
> > >> But that's not the core idea - the main thing is to replace attenuated
> > >> points with texture mapped quads.
>
> > >>> That could work for other animations, but it would be very slow for my
> > >>> star cluster animations. There are hundreds of stars in each cluster.
> > >>> As it is now, I draw each star cluster in one single glDrawArrays
> > >>> call. That makes it fast.
> > >> Hundreds doesn't sound too bad - at those poly counts, it's the fill
> > 

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-08 Thread MobileVisuals
How do you mean that I should put brightness level in the textures? I
have already enabled transparency with

gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glColor4f(1f, 1f, 1f, 0.25f);

I see that the transparency have effect, but it doesn't work as well
as it should. I have also noticed that the black square quads are
visible. Do you know what I can do to get rid of the black square
quads? Is there any way to make it as shiny and smooth as it was with
point sprites?

I use this call to draw the quads:

gl.glDrawElements(GL10.GL_TRIANGLES, vertices*2,
GL10.GL_UNSIGNED_SHORT,indiceBuffer);

I don't think that I can use glDrawArrays,because that is for
TriangleStripArrays. I have 1200 particles, which makes it 4800
vertices in the array for the quads. The positions are morphed for
each repaint. Maybe that is what is making it slow,but it was fast
with point sprites.

Each star particle consists of 2 quads. The star particle in the
middle is smaller quad.  The transparent blueish blur around that
particle is another quad. These are drawn with 2  arrays. I draw the
most opaque array first (the star particle in the middle) and then the
more transparent array later. This approach worked very well with
point sprites and size attenuation, but maybe this doesn't work with
texture mapped quads. Maye there are simply too much quads for the
system to take care off, which messes up the Depth Testing and the z
buffer. Maybe this is the reason that the transparency is not working
like it should, which causes the visible black square quads?

On Oct 7, 4:58 pm, Kostya Vasilyev  wrote:
> Looking at the "dull" screenshot, I can see that your sprites are wrong
> - they don't have transparency around the "point" itself.
>
> The black square quads are clearly visible, and they shouldn't be.
>
> The brightness level is what you put in the textures, you should be able
> to make them as bright as you want.
>
> As for performance, I haven't done any 3D work specifically on Android
> devices, so can't say for sure. Using glDrawArrays should help, does it not?
>
> -- Kostya
>
> 07.10.2011 17:44, MobileVisuals пишет:
>
>
>
> > I have implemented this according to your approach now. I replaced
> > attenuated points with texture mapped quads.  I implemented bilinear
> > filtering and alpha test.
> > It works, but the visual quality is not good. It doesn't look at all
> > as good as with Point sprites and size attenuation. It looked shiny
> > and smooth when I used Point sprites and size attenuation and it was
> > fast:
> >http://www.mobile-visuals.com/mgw.php
>
> > Now it is just rough and dull and it is slow:
> >http://www.mobile-visuals.com/dull.png
>
> > Are you really sure that is possible to get good visual quality with
> > your approach?
>
> > On Sep 29, 9:26 pm, Kostya Vasilyev  wrote:
> >> 29.09.2011 23:01, MobileVisuals ?:
>
> >>> I claim that HTC HD doesn't support OpenGL ES 2.0, because size
> >>> attenuation is a part of OpenGL ES 1.1 and it is not supported.
> >> Quite possibly, you're right...
>
> >>> So HTC hasn't implemented the things that they say in the
> >>> specification, but why not?
> >> Who knows?
>
> >> You could contact their support, but even if they provide a plausible
> >> answer (and that's a big "if"), it's not going to magically fix all the
> >> HTC devices out there...
>
> >>> Thanks for the idea, do you mean like this?
> >>> Scale to small size if the sprite is far away.
> >>> Scale to medium size if the sprite is medium distance.
> >>> Scale to big size if the sprite is close.
> >> More or less - you are currently doing continuous range scaling of your
> >> sprites (I presume). If you replace them with texture mapped quads, you
> >> could always use the same image, or pick one of the ones predefined at
> >> various scale factors, to improve the image quality and performance.
> >> Sort of like mip-mapping.
>
> >> But that's not the core idea - the main thing is to replace attenuated
> >> points with texture mapped quads.
>
> >>> That could work for other animations, but it would be very slow for my
> >>> star cluster animations. There are hundreds of stars in each cluster.
> >>> As it is now, I draw each star cluster in one single glDrawArrays
> >>> call. That makes it fast.
> >> Hundreds doesn't sound too bad - at those poly counts, it's the fill
> >> rate (overdraw) that can kill performance. But since sprites are
> >> typically small, it probably won't be an issue.
>
> >>> Wouldn't I have to make one glDrawArrays call for each one of the
> >>> stars if I had to scale them in different sizes? That would mean
> >>> hundreds of glDrawArrays calls instead of one.
> >> Not the way I'm reading the docs (mind you, my GL is more than a little
> >> rusty - last time I worked with 3D was more than 10 years ago)
>
> >> But it seems like you should be able to draw all quads that use the same
> >> texture in one call, using GL_TRIANGLES or GL_QUADS (not _S

Re: [android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-07 Thread Kostya Vasilyev
Looking at the "dull" screenshot, I can see that your sprites are wrong 
- they don't have transparency around the "point" itself.


The black square quads are clearly visible, and they shouldn't be.

The brightness level is what you put in the textures, you should be able 
to make them as bright as you want.


As for performance, I haven't done any 3D work specifically on Android 
devices, so can't say for sure. Using glDrawArrays should help, does it not?


-- Kostya

07.10.2011 17:44, MobileVisuals пишет:

I have implemented this according to your approach now. I replaced
attenuated points with texture mapped quads.  I implemented bilinear
filtering and alpha test.
It works, but the visual quality is not good. It doesn't look at all
as good as with Point sprites and size attenuation. It looked shiny
and smooth when I used Point sprites and size attenuation and it was
fast:
http://www.mobile-visuals.com/mgw.php

Now it is just rough and dull and it is slow:
http://www.mobile-visuals.com/dull.png

Are you really sure that is possible to get good visual quality with
your approach?

On Sep 29, 9:26 pm, Kostya Vasilyev  wrote:

29.09.2011 23:01, MobileVisuals ?:


I claim that HTC HD doesn't support OpenGL ES 2.0, because size
attenuation is a part of OpenGL ES 1.1 and it is not supported.

Quite possibly, you're right...


So HTC hasn't implemented the things that they say in the
specification, but why not?

Who knows?

You could contact their support, but even if they provide a plausible
answer (and that's a big "if"), it's not going to magically fix all the
HTC devices out there...


Thanks for the idea, do you mean like this?
Scale to small size if the sprite is far away.
Scale to medium size if the sprite is medium distance.
Scale to big size if the sprite is close.

More or less - you are currently doing continuous range scaling of your
sprites (I presume). If you replace them with texture mapped quads, you
could always use the same image, or pick one of the ones predefined at
various scale factors, to improve the image quality and performance.
Sort of like mip-mapping.

But that's not the core idea - the main thing is to replace attenuated
points with texture mapped quads.


That could work for other animations, but it would be very slow for my
star cluster animations. There are hundreds of stars in each cluster.
As it is now, I draw each star cluster in one single glDrawArrays
call. That makes it fast.

Hundreds doesn't sound too bad - at those poly counts, it's the fill
rate (overdraw) that can kill performance. But since sprites are
typically small, it probably won't be an issue.


Wouldn't I have to make one glDrawArrays call for each one of the
stars if I had to scale them in different sizes? That would mean
hundreds of glDrawArrays calls instead of one.

Not the way I'm reading the docs (mind you, my GL is more than a little
rusty - last time I worked with 3D was more than 10 years ago)

But it seems like you should be able to draw all quads that use the same
texture in one call, using GL_TRIANGLES or GL_QUADS (not _STRIP or _FAN,
because those are always joined). This can product transparency
artifacts depending on their z-order, so you'd need to sort the quads
according to their texture and z-order both.

Or just forgo the mipmapping for initial tests, then there's be one less
thing to worry about with respect to sorting.


A point sprite is a screen-aligned element of variable size that is
defined by a single point. Would it really be a sprite if it was
mapped to a quad polygon?

If it looks like a sprite, and quacks like a sprite...

--
Kostya Vasilyev


--
Kostya Vasilyev

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-07 Thread MobileVisuals
The default Galaxy doesn't use Point sprites with size attenuation. It
looks like it is just using plain points with spinning textures in the
background. It looks like all the points have the same size.

Galactic Core  doesn't use Point sprites either. It looks like it is
just using spinning textures. I can't find Galaxy Live Wallpaper on
the market.

I removed all HTC devices from the compatibility list for my Morphing
galaxy live wallpaper, because the HTC users complained that it didn't
look like it should. Here are some screenshots, which shows how it
looks like:

http://www.mobile-visuals.com/mgw.php

On Sep 28, 9:54 am, Dusk Jockeys Android Apps 
wrote:
> What is the Morphing Galaxy Live Wallpaper? I cant see that on the
> Market.
>
> The default Galaxy, Galactic Core and Galaxy Live Wallpaper all work
> perfectly well on my HTC Desire HD, with no blurring, so they are
> probably not doing things the same way as you are.
>
> On Sep 28, 2:36šam, MobileVisuals  wrote:
>
> > Yes, that is exactly what I am doing. I am using point sprites with
> > size attenuation for my space animations, like the Morphing Galaxy
> > live wallpaper.
> > But what is the use of point sprites if the size attenuation do not
> > work?
>
> > The size attenuation is not supported on devices from HTC and LG. This
> > is what I mean with size attenuation:
>
> >http://www.opengl.org/sdk/docs/man/xhtml/glPointSize.xml
>
> > All the point sprites get the same size if the size attenuation do not
> > work, which results in a blurry mess.
>
> > It looks like it should on most Android devices, but not those from
> > HTC and LG.
>
> > On Sep 27, 7:11špm, Nightwolf  wrote:
>
> > > Point sprites can be used to display stars in space.
>
> > > On 27 ÓÅÎ, 11:26, MobileVisuals  wrote:
>
> > > > I need Point attenuation to produce space animations with shining
> > > > particles, which look like stars. How can I achieve that effect
> > > > without using Point attenuation?
> > > > Do you mean that I should make small rectangular polygons with
> > > > transparent textures instead? I have tried that before on M3G and it
> > > > didn't look as good as Point attenuation.
>
> > > > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > > > really smooth.Will that really be enough to get the same effect as
> > > > Point attenuation? Could you please be more specific in which OpenGL
> > > > technique I should use to make it work on HTC and LG?
>
> > > > Isn't Point attenuation a part of the Android OpenGL standard?
> > > > Shouldn't HTC and LG support it in that case?
>
> > > > On Sep 27, 3:34šam, Indicator Veritatis  wrote:
>
> > > > > Short answer: no. Longer: why do you need point attenuation? There are
> > > > > other ways to do anti-aliasing, and some really cool graphics have
> > > > > been done for Android phones using that instead of point attenuation.
>
> > > > > On Sep 26, 6:26šam, MobileVisuals  wrote:
>
> > > > > > I have found that everything implemented with Point attenuation will
> > > > > > look like a blurry mess on devices from HTC and šLG. This happens on
> > > > > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > > > > this? Haven't they implemented Android in the right way?
>
> > > > > > Point attenuation works like it should on most Android devices, like
> > > > > > those from Samsung. I have implemented Point attenuation according 
> > > > > > to
> > > > > > the Android specification in two of my company's apps.I have worked
> > > > > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > > > > that I have implemented it the right way. It is about the same code
> > > > > > implementation in all OpenGL.
>
> > > > > > Shouldn't all new Android devices support Point attenuation? It 
> > > > > > works
> > > > > > on IPhone, so I think Point attenuation should work on all new 
> > > > > > Android
> > > > > > devices too.- Hide quoted text -
>
> > - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-10-07 Thread MobileVisuals
I have implemented this according to your approach now. I replaced
attenuated points with texture mapped quads.  I implemented bilinear
filtering and alpha test.
It works, but the visual quality is not good. It doesn't look at all
as good as with Point sprites and size attenuation. It looked shiny
and smooth when I used Point sprites and size attenuation and it was
fast:
http://www.mobile-visuals.com/mgw.php

Now it is just rough and dull and it is slow:
http://www.mobile-visuals.com/dull.png

Are you really sure that is possible to get good visual quality with
your approach?

On Sep 29, 9:26 pm, Kostya Vasilyev  wrote:
> 29.09.2011 23:01, MobileVisuals ?:
>
> > I claim that HTC HD doesn't support OpenGL ES 2.0, because size
> > attenuation is a part of OpenGL ES 1.1 and it is not supported.
>
> Quite possibly, you're right...
>
> > So HTC hasn't implemented the things that they say in the
> > specification, but why not?
>
> Who knows?
>
> You could contact their support, but even if they provide a plausible
> answer (and that's a big "if"), it's not going to magically fix all the
> HTC devices out there...
>
> > Thanks for the idea, do you mean like this?
>
> > Scale to small size if the sprite is far away.
> > Scale to medium size if the sprite is medium distance.
> > Scale to big size if the sprite is close.
>
> More or less - you are currently doing continuous range scaling of your
> sprites (I presume). If you replace them with texture mapped quads, you
> could always use the same image, or pick one of the ones predefined at
> various scale factors, to improve the image quality and performance.
> Sort of like mip-mapping.
>
> But that's not the core idea - the main thing is to replace attenuated
> points with texture mapped quads.
>
> > That could work for other animations, but it would be very slow for my
> > star cluster animations. There are hundreds of stars in each cluster.
> > As it is now, I draw each star cluster in one single glDrawArrays
> > call. That makes it fast.
>
> Hundreds doesn't sound too bad - at those poly counts, it's the fill
> rate (overdraw) that can kill performance. But since sprites are
> typically small, it probably won't be an issue.
>
> > Wouldn't I have to make one glDrawArrays call for each one of the
> > stars if I had to scale them in different sizes? That would mean
> > hundreds of glDrawArrays calls instead of one.
>
> Not the way I'm reading the docs (mind you, my GL is more than a little
> rusty - last time I worked with 3D was more than 10 years ago)
>
> But it seems like you should be able to draw all quads that use the same
> texture in one call, using GL_TRIANGLES or GL_QUADS (not _STRIP or _FAN,
> because those are always joined). This can product transparency
> artifacts depending on their z-order, so you'd need to sort the quads
> according to their texture and z-order both.
>
> Or just forgo the mipmapping for initial tests, then there's be one less
> thing to worry about with respect to sorting.
>
> > A point sprite is a screen-aligned element of variable size that is
> > defined by a single point. Would it really be a sprite if it was
> > mapped to a quad polygon?
>
> If it looks like a sprite, and quacks like a sprite...
>
> --
> Kostya Vasilyev

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-30 Thread Dusk Jockeys Android Apps
What is the Morphing Galaxy Live Wallpaper? I cant see that on the
Market.

The default Galaxy, Galactic Core and Galaxy Live Wallpaper all work
perfectly well on my HTC Desire HD, with no blurring, so they are
probably not doing things the same way as you are.



On Sep 28, 2:36 am, MobileVisuals  wrote:
> Yes, that is exactly what I am doing. I am using point sprites with
> size attenuation for my space animations, like the Morphing Galaxy
> live wallpaper.
> But what is the use of point sprites if the size attenuation do not
> work?
>
> The size attenuation is not supported on devices from HTC and LG. This
> is what I mean with size attenuation:
>
> http://www.opengl.org/sdk/docs/man/xhtml/glPointSize.xml
>
> All the point sprites get the same size if the size attenuation do not
> work, which results in a blurry mess.
>
> It looks like it should on most Android devices, but not those from
> HTC and LG.
>
> On Sep 27, 7:11 pm, Nightwolf  wrote:
>
>
>
> > Point sprites can be used to display stars in space.
>
> > On 27 сен, 11:26, MobileVisuals  wrote:
>
> > > I need Point attenuation to produce space animations with shining
> > > particles, which look like stars. How can I achieve that effect
> > > without using Point attenuation?
> > > Do you mean that I should make small rectangular polygons with
> > > transparent textures instead? I have tried that before on M3G and it
> > > didn't look as good as Point attenuation.
>
> > > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > > really smooth.Will that really be enough to get the same effect as
> > > Point attenuation? Could you please be more specific in which OpenGL
> > > technique I should use to make it work on HTC and LG?
>
> > > Isn't Point attenuation a part of the Android OpenGL standard?
> > > Shouldn't HTC and LG support it in that case?
>
> > > On Sep 27, 3:34 am, Indicator Veritatis  wrote:
>
> > > > Short answer: no. Longer: why do you need point attenuation? There are
> > > > other ways to do anti-aliasing, and some really cool graphics have
> > > > been done for Android phones using that instead of point attenuation.
>
> > > > On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > > > > I have found that everything implemented with Point attenuation will
> > > > > look like a blurry mess on devices from HTC and  LG. This happens on
> > > > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > > > this? Haven't they implemented Android in the right way?
>
> > > > > Point attenuation works like it should on most Android devices, like
> > > > > those from Samsung. I have implemented Point attenuation according to
> > > > > the Android specification in two of my company's apps.I have worked
> > > > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > > > that I have implemented it the right way. It is about the same code
> > > > > implementation in all OpenGL.
>
> > > > > Shouldn't all new Android devices support Point attenuation? It works
> > > > > on IPhone, so I think Point attenuation should work on all new Android
> > > > > devices too.- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-30 Thread MobileVisuals
I set up the attenuation exatly like this. It works prefectly on
Samsung and most other devices, but not on HTC.

Kostya and Nightwolf, thanks for the algorithm ideas. I am trying to
implement it now.

On Sep 30, 10:01 am, a1  wrote:
> And did you correctly setup attenuation equation? Attenuation is controlled
> by glPointParameter function 
> (http://www.khronos.org/opengles/sdk/1.1/docs/man/) with pname
> GL_POINT_DISTANCE_ATTENUATION, where you suppose to provide array of 3
> floats with attenuation equation coeffs (a, b and c).
>
> This equation is:
>
> 1 / (1 + b * D + c * D^2)
>
> where D is point sprite distance. Initial value for this coeffs is 1, 0, 0 -
> that is attenuation is disabled.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-30 Thread a1
And did you correctly setup attenuation equation? Attenuation is controlled 
by glPointParameter function (
http://www.khronos.org/opengles/sdk/1.1/docs/man/) with pname 
GL_POINT_DISTANCE_ATTENUATION, where you suppose to provide array of 3 
floats with attenuation equation coeffs (a, b and c). 

This equation is:

1 / (1 + b * D + c * D^2)

where D is point sprite distance. Initial value for this coeffs is 1, 0, 0 - 
that is attenuation is disabled.
 

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-29 Thread Nightwolf
AFAIK it is possible to specify point size array along with vertex
array. Enabling point sprites turns points to textured quads. Turn on
bilinear filtering and alpha test or blending. Of course the texture
should depict a star.

On 29 сен, 23:26, Kostya Vasilyev  wrote:
> 29.09.2011 23:01, MobileVisuals ?:
>
> > I claim that HTC HD doesn't support OpenGL ES 2.0, because size
> > attenuation is a part of OpenGL ES 1.1 and it is not supported.
>
> Quite possibly, you're right...
>
> > So HTC hasn't implemented the things that they say in the
> > specification, but why not?
>
> Who knows?
>
> You could contact their support, but even if they provide a plausible
> answer (and that's a big "if"), it's not going to magically fix all the
> HTC devices out there...
>
> > Thanks for the idea, do you mean like this?
>
> > Scale to small size if the sprite is far away.
> > Scale to medium size if the sprite is medium distance.
> > Scale to big size if the sprite is close.
>
> More or less - you are currently doing continuous range scaling of your
> sprites (I presume). If you replace them with texture mapped quads, you
> could always use the same image, or pick one of the ones predefined at
> various scale factors, to improve the image quality and performance.
> Sort of like mip-mapping.
>
> But that's not the core idea - the main thing is to replace attenuated
> points with texture mapped quads.
>
> > That could work for other animations, but it would be very slow for my
> > star cluster animations. There are hundreds of stars in each cluster.
> > As it is now, I draw each star cluster in one single glDrawArrays
> > call. That makes it fast.
>
> Hundreds doesn't sound too bad - at those poly counts, it's the fill
> rate (overdraw) that can kill performance. But since sprites are
> typically small, it probably won't be an issue.
>
> > Wouldn't I have to make one glDrawArrays call for each one of the
> > stars if I had to scale them in different sizes? That would mean
> > hundreds of glDrawArrays calls instead of one.
>
> Not the way I'm reading the docs (mind you, my GL is more than a little
> rusty - last time I worked with 3D was more than 10 years ago)
>
> But it seems like you should be able to draw all quads that use the same
> texture in one call, using GL_TRIANGLES or GL_QUADS (not _STRIP or _FAN,
> because those are always joined). This can product transparency
> artifacts depending on their z-order, so you'd need to sort the quads
> according to their texture and z-order both.
>
> Or just forgo the mipmapping for initial tests, then there's be one less
> thing to worry about with respect to sorting.
>
> > A point sprite is a screen-aligned element of variable size that is
> > defined by a single point. Would it really be a sprite if it was
> > mapped to a quad polygon?
>
> If it looks like a sprite, and quacks like a sprite...
>
> --
> Kostya Vasilyev

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


Re: [android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-29 Thread Kostya Vasilyev


29.09.2011 23:01, MobileVisuals ?:

I claim that HTC HD doesn't support OpenGL ES 2.0, because size
attenuation is a part of OpenGL ES 1.1 and it is not supported.


Quite possibly, you're right...


So HTC hasn't implemented the things that they say in the
specification, but why not?


Who knows?

You could contact their support, but even if they provide a plausible 
answer (and that's a big "if"), it's not going to magically fix all the 
HTC devices out there...



Thanks for the idea, do you mean like this?

Scale to small size if the sprite is far away.
Scale to medium size if the sprite is medium distance.
Scale to big size if the sprite is close.


More or less - you are currently doing continuous range scaling of your 
sprites (I presume). If you replace them with texture mapped quads, you 
could always use the same image, or pick one of the ones predefined at 
various scale factors, to improve the image quality and performance. 
Sort of like mip-mapping.


But that's not the core idea - the main thing is to replace attenuated 
points with texture mapped quads.



That could work for other animations, but it would be very slow for my
star cluster animations. There are hundreds of stars in each cluster.
As it is now, I draw each star cluster in one single glDrawArrays
call. That makes it fast.


Hundreds doesn't sound too bad - at those poly counts, it's the fill 
rate (overdraw) that can kill performance. But since sprites are 
typically small, it probably won't be an issue.



Wouldn't I have to make one glDrawArrays call for each one of the
stars if I had to scale them in different sizes? That would mean
hundreds of glDrawArrays calls instead of one.


Not the way I'm reading the docs (mind you, my GL is more than a little 
rusty - last time I worked with 3D was more than 10 years ago)


But it seems like you should be able to draw all quads that use the same 
texture in one call, using GL_TRIANGLES or GL_QUADS (not _STRIP or _FAN, 
because those are always joined). This can product transparency 
artifacts depending on their z-order, so you'd need to sort the quads 
according to their texture and z-order both.


Or just forgo the mipmapping for initial tests, then there's be one less 
thing to worry about with respect to sorting.



A point sprite is a screen-aligned element of variable size that is
defined by a single point. Would it really be a sprite if it was
mapped to a quad polygon?


If it looks like a sprite, and quacks like a sprite...

--
Kostya Vasilyev
 


--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-29 Thread MobileVisuals
It says in the HTC HD specification that it supports OpenGL ES 2.0:

http://www.mobiletechworld.com/2010/04/23/htc-hd-mini-review-is-it-worth-it/

I claim that HTC HD doesn't support OpenGL ES 2.0, because size
attenuation is a part of OpenGL ES 1.1 and it is not supported.

So HTC hasn't implemented the things that they say in the
specification, but why not?

On Sep 29, 8:54 pm, MobileVisuals  wrote:
> Thanks for the idea, do you mean like this?
>
> Scale to small size if the sprite is far away.
> Scale to medium size if the sprite is medium distance.
> Scale to big size if the sprite is close.
>
> That could work for other animations, but it would be very slow for my
> star cluster animations. There are hundreds of stars in each cluster.
> As it is now, I draw each star cluster in one single glDrawArrays
> call. That makes it fast.
>
> Wouldn't I have to make one glDrawArrays call for each one of the
> stars if I had to scale them in different sizes? That would mean
> hundreds of glDrawArrays calls instead of one.
>
> A point sprite is a screen-aligned element of variable size that is
> defined by a single point. Would it really be a sprite if it was
> mapped to a quad polygon?
>
> I removed all HTC devices from the compatibility list for my Morphing
> galaxy live wallpaper, because the HTC users complained that it didn't
> look like it should. Lots of HTC users said the same thing, so I am
> sure that it doesn't work on any of the HTC's. My other LW's seem to
> work well on the HTC's, but they don't use any point sprites.
>
> On Sep 29, 11:16 am, Kostya Vasilyev  wrote:
>
> > Bitmap sprites, mapped to a quad, perhaps of a few predefined sizes, picking
> > up the closest match and scaling to exact desired size You could then
> > distort the quad to provide a kind of hyperspeed blur effect near the edges
> > of the screen
>
> > BTW, I wanted to check out your wallpaper on my HTC Incredible S, but Market
> > won't let me install, reporting it as not compatible with the device.
>
> > -- Kostya
>
> > 2011/9/29 MobileVisuals 
>
> > > Does anyone know if there is any other way to make space animations
> > > with
> > > shining star objects on HTC devices, where size attenuation don't
> > > work?
>
> > > On Sep 28, 10:29 am, MobileVisuals  wrote:
> > > > Yes, it is in the OpenGL ES standard according to the book "Mobile 3D
> > > > Graphics with OpenGL ES and M3G" by Morgan Kaufmann. Here are 3 quotes
> > > > from that book:
> > > > --
> > > > "OpenGL ES 1.0 supports the geometric primitives shown in Figure 3.3:
> > > > points, lines, and
> > > > triangles. OpenGL ES 1.1 amends this list with point sprites."
>
> > > > "OpenGL ES 1.1 provides features for points that are especially useful
> > > > for particle effects:
> > > > point sprites, point size arrays, and point size attenuation."
>
> > > > "When points are defined by an array, in OpenGL ES 1.0 they all have
> > > > the same size, defined by glPointSize{fx}. In OpenGL ES 1.1 it is
> > > > possible to give each point its own size (see Section 8.1.2), and the
> > > > point sizes may be attenuated by the distance between each
> > > > point and the camera."
> > > > -
> > > > Could it be that the new HTC and LG devices only have OpenGL ES 1.0?
> > > > Devices with names like HTC HD and LG Optimus. I don't see anything HD
> > > > or optimus about them if they support an old OpenGL ES standard.
>
> > > > I don't have any HTC or LG devices, so I can't test
> > > > glGet(GL_POINT_SIZE_RANGE), but it would be interesting to so.
>
> > > > Do you know if there is any other way to make space animations with
> > > > shining star objects on LG and HTC devices? I have produced 2 apps
> > > > with 3D space effects, but I can't release them for LG and HTC. It is
> > > > the same thing for SonyEricsson, by the way. My space apps work
> > > > exactly like they should on Samsung and most other Android devices,
> > > > but I would really like to release them for LG, HTC and SonyEricsson
> > > > also.
>
> > > > On Sep 28, 1:03 am, Indicator Veritatis  wrote:
>
> > > > > Now that I know what you are doing with the point attentuation, I see
> > > > > that you are not using it for anti-aliasing, so that comment turned
> > > > > out to lead to a dead end. As for why it is not supported, yes, it is
> > > > > in the Open GL standard, but is it in ES? ES doesn't support
> > > > > everything. And what do you get on those phones when you query
> > > > > glGet(GL_POINT_SIZE_RANGE) and glGet(GL_POINT_SIZE_GRANULARITY) or
> > > > > GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY?
>
> > > > > On Sep 27, 12:26 am, MobileVisuals  wrote:
>
> > > > > > I need Point attenuation to produce space animations with shining
> > > > > > particles, which look like stars. How can I achieve that effect
> > > > > > without using Point attenuation?
> > > > > > Do you mean that I should make small re

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-29 Thread MobileVisuals
Thanks for the idea, do you mean like this?

Scale to small size if the sprite is far away.
Scale to medium size if the sprite is medium distance.
Scale to big size if the sprite is close.

That could work for other animations, but it would be very slow for my
star cluster animations. There are hundreds of stars in each cluster.
As it is now, I draw each star cluster in one single glDrawArrays
call. That makes it fast.

Wouldn't I have to make one glDrawArrays call for each one of the
stars if I had to scale them in different sizes? That would mean
hundreds of glDrawArrays calls instead of one.

A point sprite is a screen-aligned element of variable size that is
defined by a single point. Would it really be a sprite if it was
mapped to a quad polygon?

I removed all HTC devices from the compatibility list for my Morphing
galaxy live wallpaper, because the HTC users complained that it didn't
look like it should. Lots of HTC users said the same thing, so I am
sure that it doesn't work on any of the HTC's. My other LW's seem to
work well on the HTC's, but they don't use any point sprites.


On Sep 29, 11:16 am, Kostya Vasilyev  wrote:
> Bitmap sprites, mapped to a quad, perhaps of a few predefined sizes, picking
> up the closest match and scaling to exact desired size You could then
> distort the quad to provide a kind of hyperspeed blur effect near the edges
> of the screen
>
> BTW, I wanted to check out your wallpaper on my HTC Incredible S, but Market
> won't let me install, reporting it as not compatible with the device.
>
> -- Kostya
>
> 2011/9/29 MobileVisuals 
>
> > Does anyone know if there is any other way to make space animations
> > with
> > shining star objects on HTC devices, where size attenuation don't
> > work?
>
> > On Sep 28, 10:29 am, MobileVisuals  wrote:
> > > Yes, it is in the OpenGL ES standard according to the book "Mobile 3D
> > > Graphics with OpenGL ES and M3G" by Morgan Kaufmann. Here are 3 quotes
> > > from that book:
> > > --
> > > "OpenGL ES 1.0 supports the geometric primitives shown in Figure 3.3:
> > > points, lines, and
> > > triangles. OpenGL ES 1.1 amends this list with point sprites."
>
> > > "OpenGL ES 1.1 provides features for points that are especially useful
> > > for particle effects:
> > > point sprites, point size arrays, and point size attenuation."
>
> > > "When points are defined by an array, in OpenGL ES 1.0 they all have
> > > the same size, defined by glPointSize{fx}. In OpenGL ES 1.1 it is
> > > possible to give each point its own size (see Section 8.1.2), and the
> > > point sizes may be attenuated by the distance between each
> > > point and the camera."
> > > -
> > > Could it be that the new HTC and LG devices only have OpenGL ES 1.0?
> > > Devices with names like HTC HD and LG Optimus. I don't see anything HD
> > > or optimus about them if they support an old OpenGL ES standard.
>
> > > I don't have any HTC or LG devices, so I can't test
> > > glGet(GL_POINT_SIZE_RANGE), but it would be interesting to so.
>
> > > Do you know if there is any other way to make space animations with
> > > shining star objects on LG and HTC devices? I have produced 2 apps
> > > with 3D space effects, but I can't release them for LG and HTC. It is
> > > the same thing for SonyEricsson, by the way. My space apps work
> > > exactly like they should on Samsung and most other Android devices,
> > > but I would really like to release them for LG, HTC and SonyEricsson
> > > also.
>
> > > On Sep 28, 1:03 am, Indicator Veritatis  wrote:
>
> > > > Now that I know what you are doing with the point attentuation, I see
> > > > that you are not using it for anti-aliasing, so that comment turned
> > > > out to lead to a dead end. As for why it is not supported, yes, it is
> > > > in the Open GL standard, but is it in ES? ES doesn't support
> > > > everything. And what do you get on those phones when you query
> > > > glGet(GL_POINT_SIZE_RANGE) and glGet(GL_POINT_SIZE_GRANULARITY) or
> > > > GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY?
>
> > > > On Sep 27, 12:26 am, MobileVisuals  wrote:
>
> > > > > I need Point attenuation to produce space animations with shining
> > > > > particles, which look like stars. How can I achieve that effect
> > > > > without using Point attenuation?
> > > > > Do you mean that I should make small rectangular polygons with
> > > > > transparent textures instead? I have tried that before on M3G and it
> > > > > didn't look as good as Point attenuation.
>
> > > > > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > > > > really smooth.Will that really be enough to get the same effect as
> > > > > Point attenuation? Could you please be more specific in which OpenGL
> > > > > technique I should use to make it work on HTC and LG?
>
> > > > > Isn't Point attenuation a part of the Android OpenGL standard?
> > > > > Shouldn't HTC and LG 

Re: [android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-29 Thread Kostya Vasilyev
Bitmap sprites, mapped to a quad, perhaps of a few predefined sizes, picking
up the closest match and scaling to exact desired size You could then
distort the quad to provide a kind of hyperspeed blur effect near the edges
of the screen

BTW, I wanted to check out your wallpaper on my HTC Incredible S, but Market
won't let me install, reporting it as not compatible with the device.

-- Kostya

2011/9/29 MobileVisuals 

> Does anyone know if there is any other way to make space animations
> with
> shining star objects on HTC devices, where size attenuation don't
> work?
>
> On Sep 28, 10:29 am, MobileVisuals  wrote:
> > Yes, it is in the OpenGL ES standard according to the book "Mobile 3D
> > Graphics with OpenGL ES and M3G" by Morgan Kaufmann. Here are 3 quotes
> > from that book:
> > --
> > "OpenGL ES 1.0 supports the geometric primitives shown in Figure 3.3:
> > points, lines, and
> > triangles. OpenGL ES 1.1 amends this list with point sprites."
> >
> > "OpenGL ES 1.1 provides features for points that are especially useful
> > for particle effects:
> > point sprites, point size arrays, and point size attenuation."
> >
> > "When points are defined by an array, in OpenGL ES 1.0 they all have
> > the same size, defined by glPointSize{fx}. In OpenGL ES 1.1 it is
> > possible to give each point its own size (see Section 8.1.2), and the
> > point sizes may be attenuated by the distance between each
> > point and the camera."
> > -
> > Could it be that the new HTC and LG devices only have OpenGL ES 1.0?
> > Devices with names like HTC HD and LG Optimus. I don't see anything HD
> > or optimus about them if they support an old OpenGL ES standard.
> >
> > I don't have any HTC or LG devices, so I can't test
> > glGet(GL_POINT_SIZE_RANGE), but it would be interesting to so.
> >
> > Do you know if there is any other way to make space animations with
> > shining star objects on LG and HTC devices? I have produced 2 apps
> > with 3D space effects, but I can't release them for LG and HTC. It is
> > the same thing for SonyEricsson, by the way. My space apps work
> > exactly like they should on Samsung and most other Android devices,
> > but I would really like to release them for LG, HTC and SonyEricsson
> > also.
> >
> > On Sep 28, 1:03 am, Indicator Veritatis  wrote:
> >
> > > Now that I know what you are doing with the point attentuation, I see
> > > that you are not using it for anti-aliasing, so that comment turned
> > > out to lead to a dead end. As for why it is not supported, yes, it is
> > > in the Open GL standard, but is it in ES? ES doesn't support
> > > everything. And what do you get on those phones when you query
> > > glGet(GL_POINT_SIZE_RANGE) and glGet(GL_POINT_SIZE_GRANULARITY) or
> > > GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY?
> >
> > > On Sep 27, 12:26 am, MobileVisuals  wrote:
> >
> > > > I need Point attenuation to produce space animations with shining
> > > > particles, which look like stars. How can I achieve that effect
> > > > without using Point attenuation?
> > > > Do you mean that I should make small rectangular polygons with
> > > > transparent textures instead? I have tried that before on M3G and it
> > > > didn't look as good as Point attenuation.
> >
> > > > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > > > really smooth.Will that really be enough to get the same effect as
> > > > Point attenuation? Could you please be more specific in which OpenGL
> > > > technique I should use to make it work on HTC and LG?
> >
> > > > Isn't Point attenuation a part of the Android OpenGL standard?
> > > > Shouldn't HTC and LG support it in that case?
> >
> > > > On Sep 27, 3:34 am, Indicator Veritatis  wrote:
> >
> > > > > Short answer: no. Longer: why do you need point attenuation? There
> are
> > > > > other ways to do anti-aliasing, and some really cool graphics have
> > > > > been done for Android phones using that instead of point
> attenuation.
> >
> > > > > On Sep 26, 6:26 am, MobileVisuals 
> wrote:
> >
> > > > > > I have found that everything implemented with Point attenuation
> will
> > > > > > look like a blurry mess on devices from HTC and  LG. This happens
> on
> > > > > > even the newest devices from HTC, like HTC Desire HD. Why is it
> like
> > > > > > this? Haven't they implemented Android in the right way?
> >
> > > > > > Point attenuation works like it should on most Android devices,
> like
> > > > > > those from Samsung. I have implemented Point attenuation
> according to
> > > > > > the Android specification in two of my company's apps.I have
> worked
> > > > > > with Point attenuation on Symbian and C++ before, so I am quite
> sure
> > > > > > that I have implemented it the right way. It is about the same
> code
> > > > > > implementation in all OpenGL.
> >
> > > > > > Shouldn't all new Android devices support Point attenuation? It
> works

[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-29 Thread MobileVisuals
Does anyone know if there is any other way to make space animations
with
shining star objects on HTC devices, where size attenuation don't
work?

On Sep 28, 10:29 am, MobileVisuals  wrote:
> Yes, it is in the OpenGL ES standard according to the book "Mobile 3D
> Graphics with OpenGL ES and M3G" by Morgan Kaufmann. Here are 3 quotes
> from that book:
> --
> "OpenGL ES 1.0 supports the geometric primitives shown in Figure 3.3:
> points, lines, and
> triangles. OpenGL ES 1.1 amends this list with point sprites."
>
> "OpenGL ES 1.1 provides features for points that are especially useful
> for particle effects:
> point sprites, point size arrays, and point size attenuation."
>
> "When points are defined by an array, in OpenGL ES 1.0 they all have
> the same size, defined by glPointSize{fx}. In OpenGL ES 1.1 it is
> possible to give each point its own size (see Section 8.1.2), and the
> point sizes may be attenuated by the distance between each
> point and the camera."
> -
> Could it be that the new HTC and LG devices only have OpenGL ES 1.0?
> Devices with names like HTC HD and LG Optimus. I don't see anything HD
> or optimus about them if they support an old OpenGL ES standard.
>
> I don't have any HTC or LG devices, so I can't test
> glGet(GL_POINT_SIZE_RANGE), but it would be interesting to so.
>
> Do you know if there is any other way to make space animations with
> shining star objects on LG and HTC devices? I have produced 2 apps
> with 3D space effects, but I can't release them for LG and HTC. It is
> the same thing for SonyEricsson, by the way. My space apps work
> exactly like they should on Samsung and most other Android devices,
> but I would really like to release them for LG, HTC and SonyEricsson
> also.
>
> On Sep 28, 1:03 am, Indicator Veritatis  wrote:
>
> > Now that I know what you are doing with the point attentuation, I see
> > that you are not using it for anti-aliasing, so that comment turned
> > out to lead to a dead end. As for why it is not supported, yes, it is
> > in the Open GL standard, but is it in ES? ES doesn't support
> > everything. And what do you get on those phones when you query
> > glGet(GL_POINT_SIZE_RANGE) and glGet(GL_POINT_SIZE_GRANULARITY) or
> > GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY?
>
> > On Sep 27, 12:26 am, MobileVisuals  wrote:
>
> > > I need Point attenuation to produce space animations with shining
> > > particles, which look like stars. How can I achieve that effect
> > > without using Point attenuation?
> > > Do you mean that I should make small rectangular polygons with
> > > transparent textures instead? I have tried that before on M3G and it
> > > didn't look as good as Point attenuation.
>
> > > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > > really smooth.Will that really be enough to get the same effect as
> > > Point attenuation? Could you please be more specific in which OpenGL
> > > technique I should use to make it work on HTC and LG?
>
> > > Isn't Point attenuation a part of the Android OpenGL standard?
> > > Shouldn't HTC and LG support it in that case?
>
> > > On Sep 27, 3:34 am, Indicator Veritatis  wrote:
>
> > > > Short answer: no. Longer: why do you need point attenuation? There are
> > > > other ways to do anti-aliasing, and some really cool graphics have
> > > > been done for Android phones using that instead of point attenuation.
>
> > > > On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > > > > I have found that everything implemented with Point attenuation will
> > > > > look like a blurry mess on devices from HTC and  LG. This happens on
> > > > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > > > this? Haven't they implemented Android in the right way?
>
> > > > > Point attenuation works like it should on most Android devices, like
> > > > > those from Samsung. I have implemented Point attenuation according to
> > > > > the Android specification in two of my company's apps.I have worked
> > > > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > > > that I have implemented it the right way. It is about the same code
> > > > > implementation in all OpenGL.
>
> > > > > Shouldn't all new Android devices support Point attenuation? It works
> > > > > on IPhone, so I think Point attenuation should work on all new Android
> > > > > devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-28 Thread MobileVisuals
Yes, it is in the OpenGL ES standard according to the book "Mobile 3D
Graphics with OpenGL ES and M3G" by Morgan Kaufmann. Here are 3 quotes
from that book:
--
"OpenGL ES 1.0 supports the geometric primitives shown in Figure 3.3:
points, lines, and
triangles. OpenGL ES 1.1 amends this list with point sprites."

"OpenGL ES 1.1 provides features for points that are especially useful
for particle effects:
point sprites, point size arrays, and point size attenuation."

"When points are defined by an array, in OpenGL ES 1.0 they all have
the same size, defined by glPointSize{fx}. In OpenGL ES 1.1 it is
possible to give each point its own size (see Section 8.1.2), and the
point sizes may be attenuated by the distance between each
point and the camera."
-
Could it be that the new HTC and LG devices only have OpenGL ES 1.0?
Devices with names like HTC HD and LG Optimus. I don't see anything HD
or optimus about them if they support an old OpenGL ES standard.

I don't have any HTC or LG devices, so I can't test
glGet(GL_POINT_SIZE_RANGE), but it would be interesting to so.

Do you know if there is any other way to make space animations with
shining star objects on LG and HTC devices? I have produced 2 apps
with 3D space effects, but I can't release them for LG and HTC. It is
the same thing for SonyEricsson, by the way. My space apps work
exactly like they should on Samsung and most other Android devices,
but I would really like to release them for LG, HTC and SonyEricsson
also.

On Sep 28, 1:03 am, Indicator Veritatis  wrote:
> Now that I know what you are doing with the point attentuation, I see
> that you are not using it for anti-aliasing, so that comment turned
> out to lead to a dead end. As for why it is not supported, yes, it is
> in the Open GL standard, but is it in ES? ES doesn't support
> everything. And what do you get on those phones when you query
> glGet(GL_POINT_SIZE_RANGE) and glGet(GL_POINT_SIZE_GRANULARITY) or
> GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY?
>
> On Sep 27, 12:26 am, MobileVisuals  wrote:
>
> > I need Point attenuation to produce space animations with shining
> > particles, which look like stars. How can I achieve that effect
> > without using Point attenuation?
> > Do you mean that I should make small rectangular polygons with
> > transparent textures instead? I have tried that before on M3G and it
> > didn't look as good as Point attenuation.
>
> > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > really smooth.Will that really be enough to get the same effect as
> > Point attenuation? Could you please be more specific in which OpenGL
> > technique I should use to make it work on HTC and LG?
>
> > Isn't Point attenuation a part of the Android OpenGL standard?
> > Shouldn't HTC and LG support it in that case?
>
> > On Sep 27, 3:34 am, Indicator Veritatis  wrote:
>
> > > Short answer: no. Longer: why do you need point attenuation? There are
> > > other ways to do anti-aliasing, and some really cool graphics have
> > > been done for Android phones using that instead of point attenuation.
>
> > > On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > > > I have found that everything implemented with Point attenuation will
> > > > look like a blurry mess on devices from HTC and  LG. This happens on
> > > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > > this? Haven't they implemented Android in the right way?
>
> > > > Point attenuation works like it should on most Android devices, like
> > > > those from Samsung. I have implemented Point attenuation according to
> > > > the Android specification in two of my company's apps.I have worked
> > > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > > that I have implemented it the right way. It is about the same code
> > > > implementation in all OpenGL.
>
> > > > Shouldn't all new Android devices support Point attenuation? It works
> > > > on IPhone, so I think Point attenuation should work on all new Android
> > > > devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-27 Thread Indicator Veritatis
Now that I know what you are doing with the point attentuation, I see
that you are not using it for anti-aliasing, so that comment turned
out to lead to a dead end. As for why it is not supported, yes, it is
in the Open GL standard, but is it in ES? ES doesn't support
everything. And what do you get on those phones when you query
glGet(GL_POINT_SIZE_RANGE) and glGet(GL_POINT_SIZE_GRANULARITY) or
GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY?


On Sep 27, 12:26 am, MobileVisuals  wrote:
> I need Point attenuation to produce space animations with shining
> particles, which look like stars. How can I achieve that effect
> without using Point attenuation?
> Do you mean that I should make small rectangular polygons with
> transparent textures instead? I have tried that before on M3G and it
> didn't look as good as Point attenuation.
>
> Anti-Aliasing is a method of fooling the eye that a jagged edge is
> really smooth.Will that really be enough to get the same effect as
> Point attenuation? Could you please be more specific in which OpenGL
> technique I should use to make it work on HTC and LG?
>
> Isn't Point attenuation a part of the Android OpenGL standard?
> Shouldn't HTC and LG support it in that case?
>
> On Sep 27, 3:34 am, Indicator Veritatis  wrote:
>
> > Short answer: no. Longer: why do you need point attenuation? There are
> > other ways to do anti-aliasing, and some really cool graphics have
> > been done for Android phones using that instead of point attenuation.
>
> > On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > > I have found that everything implemented with Point attenuation will
> > > look like a blurry mess on devices from HTC and  LG. This happens on
> > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > this? Haven't they implemented Android in the right way?
>
> > > Point attenuation works like it should on most Android devices, like
> > > those from Samsung. I have implemented Point attenuation according to
> > > the Android specification in two of my company's apps.I have worked
> > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > that I have implemented it the right way. It is about the same code
> > > implementation in all OpenGL.
>
> > > Shouldn't all new Android devices support Point attenuation? It works
> > > on IPhone, so I think Point attenuation should work on all new Android
> > > devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-27 Thread MobileVisuals
Yes, that is exactly what I am doing. I am using point sprites with
size attenuation for my space animations, like the Morphing Galaxy
live wallpaper.
But what is the use of point sprites if the size attenuation do not
work?

The size attenuation is not supported on devices from HTC and LG. This
is what I mean with size attenuation:

http://www.opengl.org/sdk/docs/man/xhtml/glPointSize.xml

All the point sprites get the same size if the size attenuation do not
work, which results in a blurry mess.

It looks like it should on most Android devices, but not those from
HTC and LG.



On Sep 27, 7:11 pm, Nightwolf  wrote:
> Point sprites can be used to display stars in space.
>
> On 27 сен, 11:26, MobileVisuals  wrote:
>
> > I need Point attenuation to produce space animations with shining
> > particles, which look like stars. How can I achieve that effect
> > without using Point attenuation?
> > Do you mean that I should make small rectangular polygons with
> > transparent textures instead? I have tried that before on M3G and it
> > didn't look as good as Point attenuation.
>
> > Anti-Aliasing is a method of fooling the eye that a jagged edge is
> > really smooth.Will that really be enough to get the same effect as
> > Point attenuation? Could you please be more specific in which OpenGL
> > technique I should use to make it work on HTC and LG?
>
> > Isn't Point attenuation a part of the Android OpenGL standard?
> > Shouldn't HTC and LG support it in that case?
>
> > On Sep 27, 3:34 am, Indicator Veritatis  wrote:
>
> > > Short answer: no. Longer: why do you need point attenuation? There are
> > > other ways to do anti-aliasing, and some really cool graphics have
> > > been done for Android phones using that instead of point attenuation.
>
> > > On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > > > I have found that everything implemented with Point attenuation will
> > > > look like a blurry mess on devices from HTC and  LG. This happens on
> > > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > > this? Haven't they implemented Android in the right way?
>
> > > > Point attenuation works like it should on most Android devices, like
> > > > those from Samsung. I have implemented Point attenuation according to
> > > > the Android specification in two of my company's apps.I have worked
> > > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > > that I have implemented it the right way. It is about the same code
> > > > implementation in all OpenGL.
>
> > > > Shouldn't all new Android devices support Point attenuation? It works
> > > > on IPhone, so I think Point attenuation should work on all new Android
> > > > devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-27 Thread Nightwolf
Point sprites can be used to display stars in space.

On 27 сен, 11:26, MobileVisuals  wrote:
> I need Point attenuation to produce space animations with shining
> particles, which look like stars. How can I achieve that effect
> without using Point attenuation?
> Do you mean that I should make small rectangular polygons with
> transparent textures instead? I have tried that before on M3G and it
> didn't look as good as Point attenuation.
>
> Anti-Aliasing is a method of fooling the eye that a jagged edge is
> really smooth.Will that really be enough to get the same effect as
> Point attenuation? Could you please be more specific in which OpenGL
> technique I should use to make it work on HTC and LG?
>
> Isn't Point attenuation a part of the Android OpenGL standard?
> Shouldn't HTC and LG support it in that case?
>
> On Sep 27, 3:34 am, Indicator Veritatis  wrote:
>
>
>
> > Short answer: no. Longer: why do you need point attenuation? There are
> > other ways to do anti-aliasing, and some really cool graphics have
> > been done for Android phones using that instead of point attenuation.
>
> > On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > > I have found that everything implemented with Point attenuation will
> > > look like a blurry mess on devices from HTC and  LG. This happens on
> > > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > > this? Haven't they implemented Android in the right way?
>
> > > Point attenuation works like it should on most Android devices, like
> > > those from Samsung. I have implemented Point attenuation according to
> > > the Android specification in two of my company's apps.I have worked
> > > with Point attenuation on Symbian and C++ before, so I am quite sure
> > > that I have implemented it the right way. It is about the same code
> > > implementation in all OpenGL.
>
> > > Shouldn't all new Android devices support Point attenuation? It works
> > > on IPhone, so I think Point attenuation should work on all new Android
> > > devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-27 Thread MobileVisuals
I need Point attenuation to produce space animations with shining
particles, which look like stars. How can I achieve that effect
without using Point attenuation?
Do you mean that I should make small rectangular polygons with
transparent textures instead? I have tried that before on M3G and it
didn't look as good as Point attenuation.

Anti-Aliasing is a method of fooling the eye that a jagged edge is
really smooth.Will that really be enough to get the same effect as
Point attenuation? Could you please be more specific in which OpenGL
technique I should use to make it work on HTC and LG?

Isn't Point attenuation a part of the Android OpenGL standard?
Shouldn't HTC and LG support it in that case?

On Sep 27, 3:34 am, Indicator Veritatis  wrote:
> Short answer: no. Longer: why do you need point attenuation? There are
> other ways to do anti-aliasing, and some really cool graphics have
> been done for Android phones using that instead of point attenuation.
>
> On Sep 26, 6:26 am, MobileVisuals  wrote:
>
> > I have found that everything implemented with Point attenuation will
> > look like a blurry mess on devices from HTC and  LG. This happens on
> > even the newest devices from HTC, like HTC Desire HD. Why is it like
> > this? Haven't they implemented Android in the right way?
>
> > Point attenuation works like it should on most Android devices, like
> > those from Samsung. I have implemented Point attenuation according to
> > the Android specification in two of my company's apps.I have worked
> > with Point attenuation on Symbian and C++ before, so I am quite sure
> > that I have implemented it the right way. It is about the same code
> > implementation in all OpenGL.
>
> > Shouldn't all new Android devices support Point attenuation? It works
> > on IPhone, so I think Point attenuation should work on all new Android
> > devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HTC and LG haven't implemented Android in the right way

2011-09-26 Thread Indicator Veritatis
Short answer: no. Longer: why do you need point attenuation? There are
other ways to do anti-aliasing, and some really cool graphics have
been done for Android phones using that instead of point attenuation.

On Sep 26, 6:26 am, MobileVisuals  wrote:
> I have found that everything implemented with Point attenuation will
> look like a blurry mess on devices from HTC and  LG. This happens on
> even the newest devices from HTC, like HTC Desire HD. Why is it like
> this? Haven't they implemented Android in the right way?
>
> Point attenuation works like it should on most Android devices, like
> those from Samsung. I have implemented Point attenuation according to
> the Android specification in two of my company's apps.I have worked
> with Point attenuation on Symbian and C++ before, so I am quite sure
> that I have implemented it the right way. It is about the same code
> implementation in all OpenGL.
>
> Shouldn't all new Android devices support Point attenuation? It works
> on IPhone, so I think Point attenuation should work on all new Android
> devices too.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en