Apparently, due to hardware limitations, OpenGL will fail to correctly
render texture maps with dimensions larger than can be accomodated. The
symptoms manifest themselves on Windows by showing just a gray image.
I note that DirectX does not correct this issue, but emits a console
warning message and renders part of the image. (In my opinion, Java3D
should provide an automatic resampling...)
On my machine, the limit is 1024 in either X or Y. On one other Windows
machine here, however, the limit is 512.
The only solution I know of is to resample your data to a smaller size
before rendering it. If you're using Python, then:
a=load("my.jpg")
d=getDomainSizes(a)
nd=makeDomain(getDomainType(a), 0, d[0], 200, 0, d[1], 200)
b=resample(a,nd)
image(b)
would resample into a 200 x 200 domain.
tom
Trung Tran wrote:
Hi, I'm new to this list. I just have a problem with texturing images
using Java3d (running with jdk 1.4.0_03 under both windows and linux).
I try to load the demo/java3d/TextureText TextureImage program with the
provided earth.jpg in the images directory and this works fine. When I
run it with another earth.jpg I have which is larger (354kb instead of
the demo's 13k) I get a blank screen. If I create a sphere and try doing
the same thing I get a white sphere with the 354k earth.jpg and it does
work with the 13k earth.jpg. I've also tried other earth.jpg's > 13k and
gotten the same result, a blank screen or white sphere. Does anyone know
what I'm doing wrong or how I can fix this? It seems like something
pretty basic. Thanks.
--
Tom Whittaker (tomw@xxxxxxxxxxxxx)
University of Wisconsin-Madison
Space Science and Engineering Center
Cooperative Institute for Meteorological Satellite Studies
Phone/VoiceMail: 608.262.2759