[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games


View post   

File: 2.94 MB, 1010x968, hl1 graphics.webm [View same] [iqdb] [saucenao] [google]
9220317 No.9220317 [Reply] [Original]

Why does the water in HL1 look so much better in software rendering compared to opengl?

I tried to look up an answer but the best I got is that opengl didn't include support for a shader language until 2004. Opengl water in HL1 and Quake look nearly identical for obvious reasons in that case, but I don't know why opengl can't handle an animated texture.

>> No.9220329

Artistic choice it seems. Textures and color on each are different. The OpenGL water also has a warble effect for the entire body that the software mode lacks.
I don’t think you can say either looks better objectively but I slightly prefer the software renderer in this case.

>> No.9220337

>>9220317
Does hl1 look better in its software renderer?
And while im being autistic about graphics is it worth emulating the ps2 version?

>> No.9220360

>>9220337
>emulating PS2 version
Don’t be this autistic anon. The only reason to play that is if you have a CRT and PS2. It’s how I actually first played Half-Life and Deus Ex.

>> No.9220373

>>9220337
I think it makes it look more authentic in terms of atmosphere but that's not based around anything. HL1 came with opengl support out of the box iirc, I can't verify that but I'm pretty sure that's right.

The lower color depth along with the flashlight changing the brightness of each individual pixel it shines on makes the game feel far more gritty and dark.

>> No.9220397
File: 1.00 MB, 1596x1007, hl1 rendering.gif [View same] [iqdb] [saucenao] [google]
9220397

Here's some lighting differences between the two mostly from the color depth.

>> No.9220410

>>9220317
>I don't know why opengl can't handle an animated texture
Because it was HARD AS BALLS back then that's why.

To get why you've gotta understand a quirk of PC GPUs (then and now): the CPU cannot manipulate data on the GPU directly. If you wanna alter it in some way through your main program, you've gotta manipulate a full copy of the data on the CPU and upload it to the GPU's memory and you've got limited bandwidth and that takes time, especially for textures, which have quadratic size (ie they're a lot, lot heavier than polygons).

So you want a skinned character, you've gotta have all the possible poses in GPU memory (the Quake way) or upload its full geometry on each frame (one of HL1's innovations), you wanna animate a texture, you've gotta upload the texture anew on each frame (not enough bandwidth back then!) or have all frames in memory (not enough memory back then!).

So the best you can afford is just change the texture coordinates of each vertex of water polygons instead for that half-hearted effect. You could make it wavier with a lot of small polygons but then you wouldn't have enough bandwidth either.

In software mode though, as long as your CPU's fast enough, you can basically change the coordinate of each water pixel as you draw it so it's fine.

That's what shader languages would eventually allow: since your can't manipulate the GPU data directly, you upload a small self-contained program that the GPU is told to directly run by itself on each pixel (and each vertex and eventually ever more flexible primitives) as it draws it, which allows fine manipulation.

>> No.9220420

>>9220317
>opengl can't handle an animated texture.
OpenGL cant what? Unreal Engine 1.0 had water textures animated in real time, and all renderers available for it support this feature, OGL included.

>> No.9220450

>>9220420
Unreal did it by uploading the animated textures on each frame, but you might or might not remember that indeed incurred performance problems in OGL and DirectX, while it worked much better in Glide, which was specific to 3dfx GPUs.

>> No.9220492

>>9220410
I wish you could've been my professor for 3D graphics instead of a Chinese man who was telling me only about the very earliest 3D graphics that literally meant nothing in the modern age.

>> No.9220589

>>9220317
>>9220397
SOUL vs SOULLESS

>> No.9220972
File: 719 KB, 1920x2160, gl_overbright.jpg [View same] [iqdb] [saucenao] [google]
9220972

>>9220397
The majority of the lighting difference comes from the use of overbrights in software. Equalizing things in OpenGL doesn't need any fancy shaders.

>>9220317
The water is procedural, and it's a bitch on performance when using hardware acceleration. You have to upload the texture to memory every frame.

>> No.9221005

All of the old software effect could be restored under vulkan, but xash is the only HL source port

>> No.9221009

>>9221005
>source port
I wish. It's still not a completely authentic port.
If we got the full source of Half-Life one day, the first thing I would want to see is 24-bit software rendering, and then just pretend OpenGL doesn't exist.

>> No.9221027

>>9221009
the SRC is out, what it lacks is someone autistic enough to do that
Unless Graf