Commit Graph

1238 Commits

Author SHA1 Message Date
Sam Edwards b8f3c7eb63 CMake: Move some symbols from dtool_config.h to -D flags
The symbols moved aren't used in any headers, so they don't
have to be in the installed dtool_config.h. Removing them
keeps the recompiling to a minimum when an optional feature
is toggled.
2019-04-15 22:16:05 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards 671f15e052 Merge branch 'master' into cmake 2019-04-13 17:29:44 -06:00
rdb fa53e013cb gobj: add margin to float comparison in lens.project()
Fixes unit tests in double-precision build.
2019-04-02 21:27:08 +02:00
Sam Edwards f8161cc529 Merge branch 'master' into cmake 2019-03-12 02:03:16 -06:00
rdb 511b0e7af3 gobj: prevent GeomVertexReader/Writer.set_row with negative row 2019-03-10 19:23:05 +01:00
rdb 2574d85049 Merge branch 'release/1.10.x' 2019-02-19 21:38:08 +01:00
rdb ba3a826bff gobj: fix crash reading unaligned float4 column in GeomVertexReader
Observed when calling flatten_strong() on model with vertex colors loaded via Assimp.
2019-02-17 13:02:56 +01:00
rdb 11b5f09819 general: replace remaining references to ConditionVarFull. 2019-02-11 16:23:16 +01:00
rdb 9d12a4c437 general: improvements to doxygen API reference:
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there
2019-01-23 22:24:02 +01:00
rdb 84a1315104 More fixes to work around broken libc++ eof() in Mac OS X 10.7 2019-01-10 21:53:02 +01:00
Sam Edwards d4df1b3762 Merge branch 'master' into cmake 2019-01-02 06:09:15 -07:00
rdb 83374de0ff shader: don't use GENERIC profile to compile Cg shaders
Instead, make an educated guess of what the GSG we are going to be compiling this shader for wants to use as profile.
2018-12-31 14:01:26 +01:00
Sam Edwards 3b194c75e4 Merge branch 'master' into cmake 2018-12-28 22:15:44 -07:00
rdb 669a655366 Fix ShaderBuffer cleanup assertion with state cache disabled 2018-12-26 22:47:14 +01:00
rdb 5cafe8552b gobj: add F_rg, F_rg16, F_rg32, F_rgb32 to TexturePeeker 2018-12-19 20:26:51 +01:00
rdb 65a86d1b3f shader: warn if GLSL shader does not contain #version line
Shaders without #version line (which are supposed to indicate GLSL 1.10) will be interpreted differently by different drivers, so this is almost certainly a mistake.  In the future, we can forbid this altogether or insert #version 110 automatically.
2018-12-16 21:01:38 +01:00
rdb 73452957ee gobj: better handle NaNs in vertex data when calculating bounds 2018-12-16 20:43:30 +01:00
Sam Edwards 99fee1a64d CMake: Assign COMPONENT and EXPORT to all targets 2018-12-06 17:48:44 -07:00
rdb 301957c591 gobj: improve performance of GeomPrimitive::make_nonindexed()
It now no longer has to create two GeomVertexArrayDataHandle objects for every vertex it visits.
2018-12-04 12:36:03 +01:00
Sam Edwards df805bd02b Merge branch 'master' into cmake 2018-11-28 21:54:58 -07:00
Sam Edwards 8df53698f4 CMake: Add missing .h/.I files that weren't getting installed 2018-11-28 16:13:05 -07:00
rdb 97d4e32a06 general: use nassert_raise instead of nassertv(false) et al
Even a brief error message in the assertion is infinitely more useful to a user who is not at home in the source code, especially for assertions that may reasonably be triggered by honest user mistakes.
2018-11-28 17:35:20 +01:00
rdb 53cec96c07 Fix draw calls being listed under Primitive Setup in PStats, etc.
Previously, all draw calls would be grouped under "Primitive Setup", rather than under the appropriate bin collector.  This commit fixes that and adds a few other useful collectors as well.
2018-11-20 12:41:30 +01:00
Sam Edwards 6b26889e7e Merge branch 'master' into cmake 2018-11-12 15:41:42 -07:00
rdb f43bd1a409 gobj: remove use of PY_MAJOR_VERSION in internalName.h
We should not use this symbol in the interrogated headers as it means we cannot reuse the output of interrogate with different versions of Python.
2018-11-06 19:26:25 +01:00
Sam Edwards 62f7aabe91 Merge branch 'master' into cmake 2018-11-01 22:33:04 -06:00
rdb c4f5ed308f shader: reduce unnecessary newlines and #line in preprocessed GLSL
This is done by only writing out a #line when the first non-whitespace line is encountered; any blank lines before that are trimmed.  This cuts down the size of the preprocessed shaders for a large project with many shader includes, such as the RenderPipeline.
2018-11-01 23:25:17 +01:00
rdb be464b61b3 shader: do not require whitespace around : in #extension directive 2018-11-01 22:27:28 +01:00
rdb bc22f5781b shader: supports preprocessed GLSL shaders in Shader.make()
Fixes #436
2018-11-01 22:27:15 +01:00
Sam Edwards 58c065d970 Merge branch 'master' into cmake 2018-10-28 05:11:14 -06:00
rdb 6488e46cc7 Fix errors when building with --override DO_PIPELINING=UNDEF 2018-10-17 17:33:27 +02:00
rdb fbf939141b gobj: fix typo causing crash when preparing shader 2018-10-16 21:13:27 +02:00
rdb bfeb5060b8 gobj: don't create pointless future in TextureReloadRequest 2018-10-16 15:23:52 +02:00
rdb bcc2e3e404 gobj: add Geom::get_animated_vertex_data() short-hand
This is a method for getting the animated vertex data that will keep working even if GeomVertexData::animate_vertices() gets deprecated due to #421 being fixed.
2018-10-15 22:13:21 +02:00
rdb 0131d1013b gobj: fix assert when enabling hw anim if blend has 5+ transforms
Instead, we reduce the TransformBlend down to the 4 most-weighted joints.
2018-10-15 22:07:32 +02:00
rdb 6e370ebbdd gobj: speed up GeomVertexData::get_num_rows() considerably 2018-10-15 22:06:04 +02:00
Sam Edwards ea1b50a522 Merge branch 'master' into cmake 2018-10-13 16:15:35 -06:00
Sam Edwards 6f62396373 general: Resolve a few compiler warnings
- display: GraphicsWindowProc should have a virtual destructor,
           as it's meant to be subclassed.

- express: set_matrix_view helper should always fail an assert
           when 'size' is wrong, even on release builds.

- express: Fix filename capitalization on some #includes.
           They're normally Windows-only, where case doesn't
           matter, but it's better to be consistent.

- gobj: Fix typo.

- particlesystem: Remove BaseParticle::_last_position.
                  Last position is tracked by PhysicsObject now.

- windisplay: Heed warnings about casting bool to (PVOID).
              Also, per MSDN docs, SPI_SETMOUSETRAILS uses the
              uiParam argument and ignores pvParam, so pass the
              _saved_mouse_trails value in that way.
2018-10-12 15:37:40 -06:00
Sam Edwards e917c54433 Merge branch 'master' into cmake 2018-09-22 15:55:59 -06:00
Sam Edwards 1520d712d4 CMake: Remove target_use_packages
Instead, let's use a PKG::PKGNAME interface library, which simplifies
the linking and also allows us to use imported libraries from
find_package in the future.
2018-09-21 10:17:05 -06:00
rdb b183e99692 gobj: fix bug printing Material base color 2018-09-09 20:23:48 +02:00
Sam Edwards 208ecd6708 Merge branch 'master' into cmake 2018-09-02 16:06:41 -06:00
rdb b1f32e3f84 shader: reserve SL_SPIR_V ShaderLanguage value (as on vulkan branch) 2018-09-02 12:00:30 +02:00
rdb 3495537bf9 gobj: support clearing half-float textures
Fixes #374
2018-09-02 10:58:02 +02:00
rdb c670cd45d9 gobj: handle infinity and NaN when peeking half float values 2018-09-02 10:56:20 +02:00
rdb c4fe1ed883 gobj: slight refactor of Texture::do_get_clear_data() 2018-09-02 10:54:07 +02:00
Sam Edwards fa1e1a2e63 CMake: Tidy up installation directory
Don't install "object-Configuration/" directories when
using metalibs, and also put .dll files in bin/ on Windows.
2018-09-01 11:07:55 -06:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
Sam Edwards 2ab77d9a27 Merge branch 'master' into cmake 2018-08-14 21:59:45 -06:00