Commit graph

129 commits

Author SHA1 Message Date
Unknown W. Brackets
30ede8240c GPU: Move hw transform decision to draw engine. 2020-04-04 11:14:32 -07:00
Unknown W. Brackets
cba6a63058 GPU: Generate normals for curves with lighting.
Improves #12354.  This needs to happen even if the vertex has no normals.
2019-09-28 15:08:37 -07:00
Henrik Rydgård
79d4b0f5a2 Check that allocations in SplineCommon succeed. Attempt at #11660 but not optimistic. 2019-01-06 13:51:17 +01:00
Unknown W. Brackets
8a7ec4fc19 GPU: Fix curve breakage due to cull flipping. 2018-12-16 13:00:36 -08:00
xebra
04708fe88a [spline/bezier]Unify SubmitSpline/Bezier. 2018-11-13 18:22:34 +09:00
xebra
46d30d02cf [spline/bezier]minor fix 2018-10-07 23:54:32 +09:00
xebra
eca9386c05 [spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer. 2018-10-07 23:54:31 +09:00
xebra
5f07213c25 [spline/bezier]minor fix 2018-10-07 23:54:30 +09:00
xebra
5f9022ae14 [spline/bezier]minor fix 2018-10-07 23:54:29 +09:00
xebra
ef53195ae8 [spline/bezier]Surround with namespace Spline. 2018-10-07 23:54:28 +09:00
xebra
10afcf2dbb [spline/bezier]Improve basic spline/bezier structures. 2018-10-07 23:54:26 +09:00
xebra
41823f8780 [spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing. 2018-10-07 23:54:23 +09:00
xebra
89786b943d [spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
d98fa06b5f [spline/bezier]Fix to build for Android(clang). 2018-10-07 23:54:21 +09:00
xebra
019e276798 [spline/bezier]Modify ControlPoints and fix VertexPreview. 2018-10-07 23:54:20 +09:00
xebra
1c604d5b60 [spline/bezier]Put the control points stuffs all in one structure. 2018-10-07 23:54:19 +09:00
xebra
66833513c0 [spline/bezier]Modify the weights cache variables to a template variable. 2018-10-07 23:54:18 +09:00
xebra
c4a8d80b61 [spline/bezier]Put the output buffers all in one structure. 2018-10-07 23:54:17 +09:00
xebra
a241058d7b [spline/bezier]Improve TemplateParameterDispatcher class macro to a real class. 2018-10-07 23:54:16 +09:00
xebra
98ddefbd5a [spline/bezier]Extract an if-check in the hot loops to the template parameter. 2018-10-07 23:54:15 +09:00
xebra
3d07bca010 [spline/bezier]Fix spline weights calculation and get rid of using next patch position in hwtess.
# Conflicts:
#	GPU/Directx9/VertexShaderGeneratorDX9.cpp
#	GPU/GLES/VertexShaderGeneratorGLES.cpp
#	GPU/Vulkan/VertexShaderGeneratorVulkan.cpp
2018-10-07 23:54:07 +09:00
xebra
a48a5b32f0 [spline/bezier]Unify hardware tessellation of bezier and spline. 2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e [spline/bezier]Improve hwtess to use cached weights. 2018-10-07 23:54:05 +09:00
xebra
e5976f588b [spline/bezier]Unify software tessellation of bezier and spline.
# Conflicts:
#	GPU/Common/SplineCommon.cpp
2018-10-07 23:54:03 +09:00
xebra
7d45078202 [spline/bezier]minor cleanup 2018-10-07 23:54:00 +09:00
xebra
24123e6268 [spline/bezier]Fix about quality. 2018-10-07 23:53:59 +09:00
xebra
da1176f2b3 [spline/bezier]Improve template parameter dispatch method.
# Conflicts:
#	GPU/Common/SplineCommon.h
2018-10-07 23:53:58 +09:00
xebra
f7ac70858d [spline/bezier]Improve spline tessellation using same as bezier tessellation method.(performance improvements, at least 10 FPS or more) 2018-10-07 23:53:57 +09:00
xebra
b11f9e6acf [spline/bezier]Fix normal generation flag and some minor stuffs. 2018-10-07 23:53:56 +09:00
xebra
ca4e246680 [spline/bezier]Improve tessellator more generic. 2018-10-07 23:53:55 +09:00
xebra
07888d7027 [spline/bezier]Improve bezier tesselator more. 2018-10-07 23:53:54 +09:00
xebra
f12d796665 [spline/bezier]minor cleanup 2018-10-07 23:53:53 +09:00
xebra
30691535dc [spline/bezier]Fix bezier texcoord generation. 2018-10-07 23:53:52 +09:00
xebra
4c6098d801 [spline/bezier]Improve bezier tessellator more. 2018-10-07 23:53:51 +09:00
xebra
068cc37b2f [spline/bezier]Improve bezier tessellator. 2018-10-07 23:53:51 +09:00
xebra
1e84a62e96 [spline/bezier]Implement weights cache system. 2018-10-07 23:53:50 +09:00
xebra
15b409a698 [spline/bezier]Make a spline weights calculation class and precalculate all spline weights at the beginning. 2018-10-07 23:53:49 +09:00
xebra
0c9680446e [spline/bezier]minor fix 2018-10-07 23:53:48 +09:00
xebra
1b9af84270 [spline/bezier]minor fix 2018-10-07 23:53:47 +09:00
xebra
2a3210ac05 [spline/bezier]Make a bezier weights calculation class and precalculate all bezier weights at the beginning. 2018-10-07 23:53:46 +09:00
xebra
3aeb3201b9 [spline/bezier]Improve bezier weights calculation. 2018-10-07 23:53:45 +09:00
xebra
a340390996 [spline/bezier]Move bezier patch loops into the function and pre-convert control-points. 2018-10-07 23:53:44 +09:00
xebra
d0682d7829 [spline/bezier]Move SIMD optimization of vector operations to Math3D.h.
Needs rebuild to avoid a dialog confirmation on Visual Studio.
2018-10-07 23:53:43 +09:00
xebra
c8e45ae4bf [spline/bezier]Use real tessellation in low-quality with "fixed to 2" tessellation factor.
# Conflicts:
#	GPU/Common/SplineCommon.cpp
2018-10-07 23:53:42 +09:00
xebra
36ed61d08d [spline/bezier]Pre-convert control-points for the accumulation of SIMD optimization, and avoid conversion in hot loops.
# Conflicts:
#	GPU/Common/SplineCommon.cpp
#	GPU/Common/SplineCommon.h
2018-10-07 23:53:42 +09:00
xebra
62ad5fe546 Fix namespace Vec2f. 2018-10-07 23:53:41 +09:00
xebra
15a11d58c9 Modify IndexConverter class to functor. 2018-10-07 23:53:40 +09:00
xebra
d8ccc1c2b5 [spline/bezier]minor fix 2018-10-07 23:53:39 +09:00
xebra
30c3c87da8 [spline/bezier]Make a function to build indices. 2018-10-07 23:53:38 +09:00
xebra
7cbc97f19e [spline/bezier]minor cleanup 2018-10-07 23:53:37 +09:00