Bill Currie
7170a434ee
Split out the trail adding code.
...
This makes it easier to add multiple trails to one entity, or even better:
to add other types of trails.
2016-01-25 20:12:48 +09:00
Bill Currie
71630caab8
Merge branch 'master' into trails
...
Fix up the bitrot.
2016-01-22 01:01:06 +09:00
Johnny
d1a8c1b277
Color swizzle & software lighting fix
2014-02-03 16:20:54 +09:00
Bill Currie
d80342e0a8
Fix some compile errors from Johnny's patch.
...
Turns out he has to compile without -Werror.
2014-02-02 16:42:08 +09:00
Johnny
850382eed4
Fixes crashes when sw32_r_pixbytes is set to 2 or 4
2014-02-02 16:22:53 +09:00
Bill Currie
9d71d9bb7a
Remove maxwarpwidth and maxwarpheight.
...
Only the sw32 renderer even tried to use them, and they didn't get set
properly. This fixes JohnnyonFlame's waterwarp issue.
2014-02-02 14:41:58 +09:00
Bill Currie
f8b5fc2842
Use multi-octave simplex noise for the smoke trails.
...
It looks ok-ish, but still needs a lot of work.
2014-01-31 12:01:20 +09:00
Bill Currie
77fa66b2e8
Properly separate the two glsl files in C.
2014-01-31 12:00:19 +09:00
Bill Currie
4258f0408a
Remove the version controls.
...
They cause problems where they are. When I need them, all add them as
appropriate at the time.
2014-01-31 11:59:07 +09:00
Bill Currie
bcb1049f88
Convert particle physics to a scripted system.
...
The script format is the same as the console command-line, so no new
format :). The scripts are compiled to byte code and cached. They are
referenced by name (eg, "pt_fire"), though the names are likely to change.
It seems to work quite well and should prove to be a good basis for
scripting particle effects in general.
2014-01-31 10:40:44 +09:00
Bill Currie
bb5f5dd334
Correct the spelling of Fragment.
2014-01-29 16:37:48 +09:00
Bill Currie
83aa5759a2
Split up the trail fragment shader.
...
The barycentric shader is generally useful for debugging.
2014-01-29 16:37:48 +09:00
Bill Currie
8310f2aeee
Add Stefan Gustavson's glsl noise shaders.
2014-01-29 16:37:48 +09:00
Bill Currie
e60132a9b0
Add a copyright block to quakeforge.glsl
2014-01-29 16:37:48 +09:00
Bill Currie
299f305453
Update the trails code to use shader effects.
...
Trails was actually the reason I started that project. This is just cleanup
after rebasing.
2014-01-29 16:37:48 +09:00
Bill Currie
bb022bc4fc
Reverse the trail vertex order.
...
That webgl app was designed for GL's default of CCW for front faces, but
quake wants CW. Now the disable/enable of face culling isn't necessary.
2014-01-29 16:37:48 +09:00
Bill Currie
1a06712405
Handle the singularities on the trail vectors.
...
They're actually guaranteed for the first and last segments due to the
first and last points being duplicated in the buffer (simplifies design).
This also handles the rare case where a vector appears to go directly into
or out of the screen.
Everything works nicely if only one of n1 or n2 is 0, and for the very rare
case of both n1 and n2 being 0, then a final normal of 0 is reasonable.
2014-01-29 16:37:48 +09:00
Bill Currie
2fbab084a1
Build and draw solid trails for rockets.
...
And lava balls (handy test, actually).
2014-01-29 16:37:48 +09:00
Bill Currie
bd3647d671
Put the trail frag shader into debug mode.
...
This draws the wire-frame of the trail. Yay Florian Boesch.
2014-01-29 16:37:48 +09:00
Bill Currie
ddf4ff871f
Make the entity param to trail functions non-const.
...
Needed for adding trails to entities.
2014-01-29 16:37:48 +09:00
Bill Currie
ddd8885cd6
Start working on solid trails for smoke etc.
...
The implementation is based on
http://codeflow.org/entries/2012/aug/05/webgl-rendering-of-solid-trails/
The shaders have been written and compile and link. The next step is to
generate some data for them.
2014-01-29 16:37:48 +09:00
Bill Currie
99678a571b
Remove *.slc on make clean.
2014-01-28 16:26:24 +09:00
Bill Currie
3efb0c538f
Separate file search from loading.
...
QFS_LoadFile (and its wrappers) now take a file handle rather than a
path. This will make vpath usage a little cleaner to implement.
2014-01-28 16:22:05 +09:00
Bill Currie
4d59282641
Find the remaining vertex attribute order issues.
...
I hope. I do need to figure out why I made sprite blend an attribute
rather than a uniform.
2014-01-28 16:22:04 +09:00
Bill Currie
a5db0b1a65
Remove the now unnecessary GLSL_CompileShaderS().
...
Now that the transition to using shader effects is comlete, there's no
need for the wrapper.
2014-01-28 16:22:04 +09:00
Bill Currie
57d2198140
Use the new shader system for iqm models.
2014-01-28 16:22:04 +09:00
Bill Currie
385175ca65
Use the new shader system for 2d drawing.
2014-01-28 16:22:04 +09:00
Bill Currie
c89e612cd4
Remove redundant fog and palette shader code.
2014-01-28 16:22:04 +09:00
Bill Currie
50bb40be29
Use the new shader system for sprites.
2014-01-28 16:22:04 +09:00
Bill Currie
68bd7e643d
Remove the long dead text vertex shader.
2014-01-28 16:22:04 +09:00
Bill Currie
1d67f8f0c3
Use the new shader system for textured particles.
2014-01-28 16:22:04 +09:00
Bill Currie
1a7b532927
Use the new shader system for point particles.
2014-01-28 16:22:04 +09:00
Bill Currie
3af6a640fe
Missed the old turb frag shader.
2014-01-28 16:22:04 +09:00
Bill Currie
a419fb2c92
Ensure the vertex coord attribute is attribute 0.
...
It seems mesa still has the bug where non-array attributes don't work
when set as attribute 0, and that the allocation order changed sometime
since I last tested with mesa. This fixes the black world and flickering
alias models on my eeepc.
2014-01-28 16:22:04 +09:00
Bill Currie
042d6e5728
Remove a couple of stale files.
...
Missed these in the bsp related commit.
2014-01-28 16:22:04 +09:00
Bill Currie
26fc0b74e6
Fix bsp water surfaces.
...
Everything seems to be working for the bsp renderer.
2014-01-28 16:22:04 +09:00
Bill Currie
f43592589d
Use the new shader system in the bsp renderer.
...
It mostly works. Skybox is untested, and water surfaces are broken.
2014-01-28 16:22:04 +09:00
Bill Currie
b269338947
Start using the new shader system.
...
So far, alias model rendering is the only victim, but things are working,
even if only color map lookup and fog blending are broken out at this
stage.
I expect the effect naming scheme will go through some changes until I'm
happy with it.
2014-01-28 16:22:04 +09:00
Bill Currie
323fbe1927
Fix an allocation oopsie.
...
I must have been tired when I wrote that line.
2014-01-28 16:22:04 +09:00
Bill Currie
550f1ae788
Fix some bitrot.
...
Just updating for the changes to the ALLOC/FREE macros.
2014-01-28 16:22:03 +09:00
Bill Currie
96c40cb9a1
Add basic support for shader "effects".
...
Again, based on The OpenGL Shader Wrangler. The wrangling part is not used
yet, but the shader compiler has been modified to take the built up shader.
Just to keep things compiling, a wrapper has been temporarily created.
2014-01-28 16:22:03 +09:00
Bill Currie
f5501fbf24
Fix a pile of automake deprecation warnings.
...
s/INCLUDES/AM_CPPFLAGS/g
I <3 sed :)
2013-11-24 13:11:50 +09:00
Bill Currie
6288684fa2
Fix more gcc 4.8 errors.
...
More actual bugs found, too.
2013-09-27 23:09:37 +09:00
Bill Currie
88692f92d9
Fix the calls for Draw_Init in the gl renderers.
...
While namehack.h took care of the symbol mangling, I do prefer the calls to
be correct as it reduces confusion.
2013-05-09 17:58:33 +09:00
Bill Currie
6d7f747577
Add timerefresh to the glsl renderer.
...
Also, tweak the formatting of the output for the other renderers (%g
instead of %f) and make gl's timerefresh output unconditional.
2013-02-18 13:57:45 +09:00
Bill Currie
bc12567572
Clean out a leftover from the 128 dlight change.
...
I'd missed a set of bit->lightnum conversions that resulting in lightnum
becoming much greater than 128 and thus trashing memory when the surface
was marked.
2013-01-31 22:39:23 +09:00
Bill Currie
e27d7cbd2d
Handle alloca "correctly".
...
Use AC_FUNC_ALLOCA and the #ifdef mess suggested by the autoconf docs
(hidden in qfalloca.h).
2013-01-22 21:02:50 +09:00
Bill Currie
f1aefc969d
Fix some 64-bit mingw compile issues.
...
Just one more issue to fix (alloca), but with a hack, QF compiles (no clue
yet if it works: wine doesn't seem to be an option at this stage)
2013-01-22 21:02:49 +09:00
Bill Currie
cb45d248c4
Use the Mersenne Twister for particles.
...
The seed is currently 0xdeadbeef, but I intend on fixing that soon. Now the
particle velocities and origins use fully independent bits (though a big
chunk is wasted right now).
2013-01-21 20:06:54 +09:00
Bill Currie
3de67589a3
Fix random particle origin/velocity z component.
...
This is a quick fix until I get a random number generator into QF.
Mingw's RAND_MAX is only 0x7fff and so the (((rnd >> 10) & 63) - 31.5) / 63.0
used for the z component of origin and velocity would never go positive.
For now, change the 10 to 9 (reusing another bit from Y). I plan on
implementing a full 32-bit PRNG in QF so we always have a reliable
generator.
2013-01-21 14:53:13 +09:00