Poll

What platform would you run Quetoo on if it was on Steam?:

What's up with the water?

June 22, 2009 - 01:32am

How does Q2W handle water? I have a map with brushes that have a water TGA texture applied and their surface flag set to warp (SURF_WARP). However, when I load the map into Q2W, the water texture I specified isn't being applied to the water surface. If I edit the map's material file to add a texture line for that material texture entry as follows:

{
material arena3/water
bump 0.0
hardness 0.0
parallax 0.0
specular 0.0
{
texture arena3/water.tga
}
}

In that case the water.tga texture does get applied to the water surface, but it is way too bright/washed out and I only see a faint rippling of the surface underneath not of the actual water texture. The water does not warp/sway as it does in Quake 2.

So, my questions are these: why do I have to define an entry in the material file for the water texture to be applied? How do I keep it from being so damn bright when it is applied from the material file? And finally, how do I make the water warp like in Quake 2?

June 22, 2009 - 03:18am

On the brightness issue:
Can't help with this one. I've had a similar problem with some water textures, others worked. So I just used them.

On the water failing to warp:
I think it only warps in q2w if you have set r_programs 1 because it seems to be a GLSL shader effect or something. (jdolan should be able to confirm or correct this.) This is a bit annoying if you're on old hardware because the water looks really shitty if it doesn't warp. :|

June 22, 2009 - 04:22am

"I've had a similar problem with some water textures, others worked."

All of the textures I have tried are too bright/washed out in Q2W, but look perfectly fine elsewhere. And, in Q2W they are all that same brightness.

"On the water failing to warp: I think it only warps in q2w if you have set r_programs 1 because it seems to be a GLSL shader effect or something."

Actually I have GLSL on. The water simply have some random ripples in the layer above or below the water surface texture. It does not wave/warp like in Quake 2. Turning off GLSL (r_program 0) turns off the ripples, but does nothing about the texture brightness.

June 22, 2009 - 07:18am

Step 1. Lose your attitude. You're clearly ignorant to game and graphics programming. So quit offering your snide critiques about shit you don't understand.

Step 2. Realize that all Quake and Quake2 derived engines draw warped surfaces fullbright. The bsp compiler does not author lightmap information for warped surfaces. Some engines make an attempt to resolve vertex colors for warp faces, but the results are generally low-quality, and introduce visual artifacts.

Step 3. Learn how to map for Quake games before accusing Q2W of having bugs. The scenario you describe in this thread is complete BS. Create a brush, apply water to it, select SURF_WARP and CONTENTS_WATER. The end.

June 22, 2009 - 20:32pm

"Step 1. Lose your attitude."

You are being overly sensitive. And, I am frustrated by the results or lack thereof I am getting to my efforts. I'm not blaming you for them. I am just very interested in the reasons why.

"You're clearly ignorant to game and graphics programming."

No, I am not. I am certainly less knowledgible than you on the subject at least when it comes to the Quake 2 engine, but that hardly makes me ignorant. I certainly didn't see many or any others tackle my various questions and concerns despite seeing them view this forum, which demonstrates the difficult and arcane nature of the solutions.

"So quit offering your snide critiques about shit you don't understand."

I hardly consider my observations snide critiques. And, this forum is supposedly for posting questions about problems not just for complimenting you or your work. Would you rather I procede my questions with compliments about Q2W to soothe your ego? (Now that is an actual snide comment for comparison.)

"Step 2. Realize that all Quake and Quake2 derived engines draw warped surfaces fullbright...the results are generally low-quality, and introduce visual artifacts. "

That's good to know, but it doesn't explain why these water textures look perfectly fine in the couple of other Q2 derivatives I have tried.

"Step 3. Learn how to map for Quake games before accusing Q2W of having bugs."

I am not accusing Q2W of having bugs here. I am accusing it of handling water differently than I expect because it doesn't match the other Q2 engines I have tried. I posted this to figure out primarily how to modify my efforts to fit Q2W so I would get acceptable results. If it isn't possible, then how to modify Q2W to get the results I seek.

"The scenario you describe in this thread is complete BS. Create a brush, apply water to it, select SURF_WARP and CONTENTS_WATER. The end."

The proof is in the pudding then. Take a look at the compiled map yourself, and tell me why the water is washed out when it isn't in EGL or in AA with GLSL off (so its old water behavior is used). Also, tell me why the water texture isn't rendered in Q2W unless it is specified with a "texture" directive in the map's material file. That shouldn't be necessary as it isn't for the other textures.

First, load the dm-turbo2k8.bsp in Q2W (latest binary from your website). While I admit that the material file for the map still needs some work, e.g. translating from Rscript to get the animations to work properly, and the included normalmap textures don't yet include the necessary heightmap information for parallax mapping, the water is the issue at the moment. If the texture entry in the material definition for arena3/water isn't present in dm-turbo2k8.mat, the water texture doesn't render at all. So, first I don't see why that entry is necessary since the texture applied in the bsp is an actual texture not a material alias. Second, the water texture is rendered too bright and it doesn't wave although Q2W's faint ripples are seen on it when GLSL shaders are enabled. While I also would like to apply a custom environment map texture or some other reflectivity for the water, I need to first get the basic water to look right first.

Now load the AA/Quake 2 version of the map (dm-turbo2k8q2.bsp in that archive) in EGL (SVN build or any recent binary). The water texture (arena3\water.tga) renders at the correct brightness and the water waves normally. Please explain the discrepancy between the results from Q2W and EGL.

June 22, 2009 - 04:29am

hm. for me, with r_programs 1, the water on lilith looks good and warps.

what about the water in maps that come with the game, does it look strange for you, too?

June 23, 2009 - 14:23pm

"hm. for me, with r_programs 1, the water on lilith looks good and warps."

The water in that map does look good, but it doesn't warp like water in Quake 2 or EGL. I see now that the problem is Quake 2 World's warp shader. It's not designed to warp the texture back and forth like Quake 2 or EGL do. It's more like an overlaid pattern for the water surface.

I still can't figure out what specifically is causing the textures applied as water to render so extremely bright or not at all. They're so bright that it makes the warp pattern very faint and difficult to see or in some lighting invisible. The water texture for the aghast map looks almost solid brown in image viewing programs. Only in the game when applied as water does it not look that way.