I'm just impressed as hell because I can't see the pattern in it.Mate Kovacs said:Yeah, it took me a lot of time to make that kanji-map (from four separate irregular maps).
What do you plan to use the effect for?
I'm just impressed as hell because I can't see the pattern in it.Mate Kovacs said:Yeah, it took me a lot of time to make that kanji-map (from four separate irregular maps).
And I forgot to tell that on the first 3 pictures only an 80x50 portion of the whole (128x128) index-map is wrapped on the quad, because I wanted to mimic a VGA character mode. And on the last 2 pictures only a 64x64 portion is used in order to make those beautiful kanjis more noticeable.digitalwanderer said:I'm just impressed as hell because I can't see the pattern in it.
Nothing serious. (I'm graduating from high-school these days. ) But I think it could be useful if I wanted to make a game like System Shock or DeusEx. You can spare a lot of texture/vertex memory when you need to render interactive displays.What do you plan to use the effect for?
For simple bump mapping, yes. But you are being very short sighted.DemoCoder said:DOT3 is far more useful and general than EMBM. With DOT3 and register combiners, you could do primitive DX8 style shaders.
EMBM gives you dependent texture reads. There are TONS of effects you can do with EMBM, but DP3 gives you one thing only without dependent texturing: bump mapping. That's it.DOT3 could be used as a building block for many fixed function effects, EMBM was far more limited.
Woah, I'm quite impressed it looks that good with PS1.4. I implemented a tile shader about a year ago using PS2.0 and later PS2.x because you really need gradient instructions and texldd to get proper LOD calculation at the tile edges.Mate Kovacs said:I'm recently working on a tileshader (using PS1.4).
Mintmaster said:EMBM gives you dependent texture reads. There are TONS of effects you can do with EMBM, but DP3 gives you one thing only without dependent texturing: bump mapping. That's it.
Some of the above effects require some creativity, but dependent texturing has done worlds more for computer graphics than DP3. You really didn't give much thought in your above statements, which I say are completely wrong.
In fact, from a greater distance it looks very odd, because the whole texture starts flickering, due to the lack of "manual filtering" in the shader. So I'll read that paper, thank you. But unfortunately I've got a Radeon8500, so only PS1.4 to play around with.Xmas said:Woah, I'm quite impressed it looks that good with PS1.4. I implemented a tile shader about a year ago using PS2.0 and later PS2.x because you really need gradient instructions and texldd to get proper LOD calculation at the tile edges.
You might be interested in reading the Tile-Based Texture Mapping chapter in GPU Gems 2 by Li-Yi Wei.
Dude, that's Chinese, sheesh....digitalwanderer said:I like the japanese version better than the english one.
Chalnoth said:Dude, that's Chinese, sheesh....digitalwanderer said:I like the japanese version better than the english one.
Actually, they were flipped left/right in The Matrix (This is really obvious for an English-speaker if you just look at the numbers interspersed in the text).DemoCoder said:Chinese and Japanese share many Hanzi/Kanji characters. Given characters in isolation or randomized, it could be either. Only in a grammatical context can you tell. In the Matrix movies, they used Japanese characters (Katakana), rotated on their side.
ps_1_4
texcrd r0.rgb,t0
texld r1,t0
add r0.rg,r0,r1
mov_x2 r0.r,r0 ;[1]
mov_x4 r0.g,r0 ;[2]
phase
texld r0,r0
ps_2_0
dcl_2d s0
dcl_2d s1
dcl t0
def c0, 0.03125, 0.03125, 0, 0
def c1, 0.25, 0.5, 0, 0
mul r0, t0, c0
texld r0, r0, s0
frc r1.xy, t0
mad r0.y, -r0.y, r1.y, r0.y
mad r1.xy, r1, c1, r0
texld r0, r1, s1
mov oC0, r0
ps_2_x
dcl_2d s0
dcl_2d s1
dcl t0
def c0, 0.03125, 0.03125, 0, 0
def c1, 0.25, 0.5, 0, 0
mul r0.xy, t0, c0
texld r0, r0, s0
mul r1.xy, t0, c1
dsx r2.xy, r1
dsy r3.xy, r1
frc r1.xy, t0
mad r0.y, -r0.y, r1.y, r0.y
mad r1.xy, r1, c1, r0
texldd r0, r1, s1, r2, r3
mov oC0, r0
I don't know what your definition of bump mapping is, but mine includes phong shading. When I say bump mapping, I mean per pixel lighting. It is the use of a different normal vector across the face of a polygon. Phong shading could be done per vertex before with gourad interpolation, and bump mapping, or more specifically normal mapping, allows it to be done per pixel.DemoCoder said:Now who's the one that's shortsighted? DP3 only gives bump mapping? No it doesn't. Atleast not on NVidia's old HW. Dot product is the fundamental building block for all vector mathematics. It is the workhouse of all shaders. Virtually any interesting operation you want to do in a shader requires DP3/DP4 instructions. DP3 allows you to do tons of effects without dependent texturing. For example, per-pixel phong was done on GF2 with register combiners.
I don't know what your definition of flexibility is either. DP3 --> per pixel lighting (I'm still waiting to hear all the magical shaders you keep mentioning). EMBM --> tons of effects, as mentioned above, including per pixel lighting. Please, prove me wrong on this point before you go any further.Not every interesting effect requires a perturbed map lookup, in fact, there are plenty of interesting shaders effects done without dependent lookup. Without DP3, and with only EMBM, you would lose far more flexibility and your performance would suck.
Again, you're thinking short-sightedly. Remember render to texture? You can do plenty of ops, then multipass and essentially get a dependent texture read to anywhere. Like I said before, it requires some creativity, but EMBM gives the hardware a new dimension of capability.Some of the above effects require some creativity, but dependent texturing has done worlds more for computer graphics than DP3. You really didn't give much thought in your above statements, which I say are completely wrong.
"Completely wrong"? Talk about a reactionary comment. Dependent texturing != EMBM. EMBM as implemented by Matrox was far more limited than the way DP3 could be utilized in register combiners. Not until PS1.4 and PS2.0 did dependent lookups become really useful.
Uhh, no, my comments aren't saying that. DP3 can be broken down into ADD and MUL, and so is not fundamental. I'm not suggesting you do that, though, because EMBM gives a very good approximation for per pixel lighting - the only thing I see DP3 is useful for without dependent texturing.Your comments are like saying "EMBM has done worlds more for computer graphics than ADD or MUL. So I say you are completely wrong." ADD, MUL, and DP3 are fundamental.
True, just as for PS 1.1 dependent texture lookups (e.g. texm3x3vspec). But using render to target, you can overcome many limitations of the hardcoded nature.EMBM was an hardcoded macro op. The decomposition of EMBM into TEX, DP instructions provided a superior and more flexible solution.
Well, I disagree. I've given you boatloads of evidence to support my position.So I stand by my assertion that DP3 is more useful than EMBM, as are the other primitive ALU ops, such as ADD, MUL, MUX, etc
Oh, f*ck, I missed it!Nappe1 said:(finland leads 2-0 against russia in ice hockey wc match...)
Mintmaster said:I don't know what your definition of bump mapping is, but mine includes phong shading. When I say bump mapping, I mean per pixel lighting.
You've given me nothing but semantic arguments related to your definitions of "bump-mapping", "fundamental", and "hardcoded".
NV1x combiners are way more capable than R100 combiners.Nappe1 said:...biners and 3 tmus it should be far more capable than NV1x -series chips. Still, NV1x got native support to Doom3 and Radeon 7xxx didn't.
so, it is not always about who has got best features, but who is able to make best deals.