What is in your opinion the fastest way to count pixels? I know that i could calculate 640px X 480px and get 307200px but i want to count special pixel(color).
I had a look at TestRenderToMemory and i’m using the updateImageContents method. It works good but i’m asking myself as a beginner if there is a better/faster way?
Its possible to do this, and even hardware accelerated. It’s called occlusion queries and is not currently supported in any jME version.
May I know why you want to do this? Perhaps we can implement this feature in jME for that particular purpose.
I’m calculating the projected area of an object. I need that information for the drag force(buoyancy,water and that stuff). I’m already calculating the volume with the help of rays which leads me to this problem
What i’m doing is have a new camera with black background and the object in complete white. I’m also using the parallel projection. And than i’m counting the white pixels. And since i know the width and height of a pixel on the near plane i get a very accurate result. Depending on the resolution of course ;). Yes i could use the ray algorithm that i’m already using to calculate the volume but i thought that calculating the area could be done faster with this method. Instead of shooting a lot of rays.
Maybe you can just project the bounding volume, and calculate the surface area of that? Perhaps this will be of any help?
I guess not… I don’t think this kind of thing is general-purpose enough to be implemented in the engine core, so perhaps you can try learning a bit about OpenGL occlusion queries and see if you could get it done yourself?
Don’t get me wrong. It’s already working and it’s very fast and accurate. As a JME noob i wanted only to know if there isn’t some obvious much better solution ;). Anyway thanks for your help.