Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (636)
Games in Android Showcase (178)
games submitted by our members
Games in WIP (687)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Obtain pixel from Image(Slick2D)  (Read 1810 times)
0 Members and 1 Guest are viewing this topic.
Offline P0jahn

Senior Devvie

Medals: 1
Projects: 3

« Posted 2013-01-23 10:32:59 »

Using image.getColor is afaik performance killer. Is there any other options? Take note that this option should be compatible with rotated images.
Offline Mads

JGO Ninja

Medals: 26
Projects: 3
Exp: 6 years

One for all!

« Reply #1 - Posted 2013-01-23 10:52:05 »

Have you tried just doing what you suggested? I can't see why it should be a bottleneck. It looks like it's just a few calls to the pixel-array, and that operation is usually extremely fast.

EDIT: My bad.

Offline davedes
« Reply #2 - Posted 2013-01-23 17:12:36 »

getColor is indeed a performance killer, as it involves copying data from the GPU to CPU. Once cached, this isn't so bad, but if you are doing things like rendering to offscreen graphics, the data will be flushed and will need to be re-copied every frame. And it won't work with rotated images.

What are you trying to achieve? Maybe you need shaders.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline P0jahn

Senior Devvie

Medals: 1
Projects: 3

« Reply #3 - Posted 2013-01-23 17:22:13 »

I am trying to create a fast pixel-perfect function. The only thing making it ineffective is grabbing the pixels from the Image.
I have made a piss solution, by associating every image with an int[][] array(that represent all the pixels in the image). This array is initiated at loading screen. The results performance wise is fantastic. But it turns my code into a mess, killing the readability. And its not working with rotation.
Offline davedes
« Reply #4 - Posted 2013-01-23 17:40:32 »

Using image data for pixel-perfect collision only works when you aren't changing the image (i.e. scaling or rotating it).

If you are really set on pixel-perfect, some occlusion queries may be a possibility. Instead for your purposes you should be using polygons. Here is a good book on the subject.

Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

Dwinin (70 views)
2015-11-07 13:29:08

Rems19 (80 views)
2015-10-31 01:36:56

Rems19 (72 views)
2015-10-31 01:32:37

williamwoles (106 views)
2015-10-23 10:42:59

williamwoles (92 views)
2015-10-23 10:42:45

Jervac_ (106 views)
2015-10-18 23:29:12

DarkCart (134 views)
2015-10-16 00:58:11

KaiHH (116 views)
2015-10-11 14:10:14

KaiHH (155 views)
2015-10-11 13:26:18

BurntPizza (171 views)
2015-10-08 03:11:46
Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48

Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!