Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (121)
games submitted by our members
Games in WIP (577)
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  
  floating point images and java3d  (Read 1698 times)
0 Members and 1 Guest are viewing this topic.
Offline pepe

Junior Duke




Nothing unreal exists


« Posted 2003-03-14 03:46:51 »

New and advanced graphic cards (radeon 9800) makes it possible to render 128 bits pixels (4*32 bits float components). I'd love to know if java3d would eventually be able to render using that modes.
Unfortunatly, i don't have that card, and i don't know what are the restrictions(if any) or api to do that. Maybe Opengl does it automatically if available (as it does for t&l), then i'll be a happy coder. If not, any idea of the possibility to access such feature with j3d 1.3.1, or j3d 1.4?
Is it a DirectX only feature?

Thanks.

Home page: http://frederic.barachant.com
------------------------------------------------------
GoSub: java2D gamechmark http://frederic.barachant.com/GoSub/GoSub.jnlp
Offline cfmdobbie

Senior Duke


Medals: 1


Who, me?


« Reply #1 - Posted 2003-03-14 09:07:57 »

Yeah, OpenGL has no problems with that.  In straight C, a glColor call can normally accept floating point components up to 64-bit, but technically it can go up to whatever the host platform can express.  As this is a 64-bit "double" on 32-bit Intel architecture, we're good up to 256-bit pixels.

When the move to 64-bit desktop architectures finally begins, we'll be good up to 512-bit pixels... Grin

Assuming DirectX can keep up with that, theoretically there's no reason why Java3D can't support it, in time.

Hellomynameis Charlie Dobbie.
Offline pepe

Junior Duke




Nothing unreal exists


« Reply #2 - Posted 2003-03-14 09:40:05 »

heh, that would be fun.
Well, provided i give a bufferedImage stuffed with a float DataBuffer, do you think a  texture will be converted by j3d to 8 bits ARGB, or  will be kept as is? (being kept would certainly be excellent for me. Smiley )

Home page: http://frederic.barachant.com
------------------------------------------------------
GoSub: java2D gamechmark http://frederic.barachant.com/GoSub/GoSub.jnlp
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Ifadolai

Junior Duke




Java forever!!


« Reply #3 - Posted 2003-03-14 11:41:04 »

Quote
New and advanced graphic cards (radeon 9800) makes it possible to render 128 bits


No, ATI is 96 bits, its GeForceFX that has 128

Quote

I'd love to know if java3d would eventually be able to render using that modes.


It doesnt work like that. The floating point is used inside the algorithms for calculating the colour you will end up seeing on the screen. This means that existing programs AND Java3D will automaticaly use it.  Smiley

The problem of integers is that they have to be multiplied and divided in the process of calculating the final colour on your screen(T&L). This means that your 8 bits per colour can be reduced to e.g. 5 bits per colour because of rounding errors. If you then have a very bright or very dark scene that makes the number of bits you have to play with even smaller. Using floating point operations inside these calculations will prevent the loss of colour information and a nice gamma correction will scale it back to the colour domain the monitor uses(will be 10 bit integers per colour for GeForce FX).

The conclusion:
You get great benefit from floating points cards even using 8bit per colour on your textures and lights.

The extra bits is NOT for giving you alot more different colours to play with, the human eye cant distingish more than 10bit per colour anyway.

BTW. 10 bit per colour gives 1.073.741.824 different colours. That is way more than enough. (8 bit is 16.777.216)

Nikolai V. Christensen, Computer Engineer,
Simulation and Training department
IFAD, Forskerparken 10A, DK-5230 Odense M
Denmark, EU
Phone: +45 63 15 71 31  Fax: +45 65 93 29 99
Offline pepe

Junior Duke




Nothing unreal exists


« Reply #4 - Posted 2003-03-14 12:10:13 »

Quote
No, ATI is 96 bits, its GeForceFX that has 128

What i read from here:
http://mirror.ati.com/products/pc/radeon9800pro/specs.html
is that:
"128-bit, 64-bit & 32-bit per pixel floating point color formats".
How do you read that and make it 96 bits? or maybe this is marketing fuzz? Please explain.

Quote

The extra bits is NOT for giving you alot more different colours to play with, the human eye cant distingish more than 10bit per colour anyway.

BTW. 10 bit per colour gives 1.073.741.824 different colours. That is way more than enough. (8 bit is 16.777.216)
Hem, you"ll get some flames on this 'eye can only see 10 bits, bla bla bla"..
Anyway, i'm not interested in floating point images just for the beauty of what it could eventually give on a screen, or whatever. I work on images with very big precision, and using  such features could give me possibilities to accelerate using hardware. See, i need that precision for the exact reason you gave: after multiple filters, quality is bad using integers, while best using floats. My eye might be seeing only 5 bits, i'll still need that floats to be used.


From what i read at ati, it says that it will render floating point images. I'd love to read a pages that says the opposite.

Home page: http://frederic.barachant.com
------------------------------------------------------
GoSub: java2D gamechmark http://frederic.barachant.com/GoSub/GoSub.jnlp
Offline Ifadolai

Junior Duke




Java forever!!


« Reply #5 - Posted 2003-03-14 12:29:29 »

Quote

What i read from here:
http://mirror.ati.com/products/pc/radeon9800pro/specs.html
is that:
"128-bit, 64-bit & 32-bit per pixel floating point color formats".
How do you read that and make it 96 bits? or maybe this is marketing fuzz? Please explain.


The pixel pipelines are 96 bit, so some color data is lost. What I am saying is its not 128 bits in the entire pipeline. For me a chain is only as good as the weakest link..

Quote

I work on images with very big precision, and using  such features could give me possibilities to accelerate using hardware.


Hehe, smart to use the hardware in this way.

Quote

From what i read at ati, it says that it will render floating point images. I'd love to read a pages that says the opposite.


I didnt say you cant, just didnt expect you to be needing it.  Smiley

Regards
Nikolai

Nikolai V. Christensen, Computer Engineer,
Simulation and Training department
IFAD, Forskerparken 10A, DK-5230 Odense M
Denmark, EU
Phone: +45 63 15 71 31  Fax: +45 65 93 29 99
Offline pepe

Junior Duke




Nothing unreal exists


« Reply #6 - Posted 2003-03-14 13:05:58 »

Quote
The pixel pipelines are 96 bit, so some color data is lost. What I am saying is its not 128 bits in the entire pipeline. For me a chain is only as good as the weakest link..
True. Nevertheless i found nothing on the internal pipeline. Any link? Smiley

Home page: http://frederic.barachant.com
------------------------------------------------------
GoSub: java2D gamechmark http://frederic.barachant.com/GoSub/GoSub.jnlp
Offline Ifadolai

Junior Duke




Java forever!!


« Reply #7 - Posted 2003-03-14 14:44:09 »

http://firingsquad.gamers.com/hardware/radeon_9700/page2.asp

http://www.extremetech.com/article2/0,3973,710342,00.asp

http://www.penstarsys.com/editor/Today/nvidia3/nvda_tdy_5.htm

http://www.onethumb.com/index.mg?EntryID=12

And thousands site like these, that you can search on google.

Nikolai V. Christensen, Computer Engineer,
Simulation and Training department
IFAD, Forskerparken 10A, DK-5230 Odense M
Denmark, EU
Phone: +45 63 15 71 31  Fax: +45 65 93 29 99
Offline Matzon

JGO Knight


Medals: 19
Projects: 1


I'm gonna wring your pants!


« Reply #8 - Posted 2003-03-14 17:23:28 »

hmmmmm I seem to remember a document describing 9700 as not "true" 128 bit, while the 9800 *is*...

/me is searching for document...

Offline pepe

Junior Duke




Nothing unreal exists


« Reply #9 - Posted 2003-03-14 17:50:38 »

that's what the latest link of Ifadolai says.
r350 is full 128 bits, while r300 is 96 bits.
yum...

Home page: http://frederic.barachant.com
------------------------------------------------------
GoSub: java2D gamechmark http://frederic.barachant.com/GoSub/GoSub.jnlp
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Ifadolai

Junior Duke




Java forever!!


« Reply #10 - Posted 2003-03-17 13:02:54 »

Quote
that's what the latest link of Ifadolai says.
r350 is full 128 bits, while r300 is 96 bits.
yum...



No, I think not. It says he hopes it will. It was written before the release of 350.

350 is also 96 bits.

Nikolai V. Christensen, Computer Engineer,
Simulation and Training department
IFAD, Forskerparken 10A, DK-5230 Odense M
Denmark, EU
Phone: +45 63 15 71 31  Fax: +45 65 93 29 99
Offline pepe

Junior Duke




Nothing unreal exists


« Reply #11 - Posted 2003-03-18 10:43:35 »

well, after reading the sentence many times, i agree. My english skills entered the game again, and i lost. Smiley

On an other hand, he could have written it better Tongue
... err.. okay.. my fault.. sorry. Embarrassed

Anyway, if FX is the way to floating point pipeline, what can we expect from j3d's mappings on this? Any official answer, or at least some guesses ?  

Home page: http://frederic.barachant.com
------------------------------------------------------
GoSub: java2D gamechmark http://frederic.barachant.com/GoSub/GoSub.jnlp
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

theagentd (19 views)
2014-10-25 15:46:29

Longarmx (52 views)
2014-10-17 03:59:02

Norakomi (46 views)
2014-10-16 15:22:06

Norakomi (34 views)
2014-10-16 15:20:20

lcass (39 views)
2014-10-15 16:18:58

TehJavaDev (68 views)
2014-10-14 00:39:48

TehJavaDev (68 views)
2014-10-14 00:35:47

TehJavaDev (60 views)
2014-10-14 00:32:37

BurntPizza (74 views)
2014-10-11 23:24:42

BurntPizza (45 views)
2014-10-11 23:10:45
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org 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‑gaming.org
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!