Commit Graph

11210 Commits

Author SHA1 Message Date
rdb e9ae7dcc40 Use vector_uchar instead of string for binary network/file data
This distinction allows us to better support Python 3, since it will raise exceptions when trying to put arbitrary binary data in a str object.

This also adds some convenience functions for efficiently initializing a Datagram or PTA_uchar from a vector_uchar.
2018-04-02 23:17:14 +02:00
Sam Edwards fadbcd91e5 ffmpeg: Bump supported minimums lower for libav 9.20
We need to support this because Ubuntu 14.04 ships with this
version, and has no "backports" option to bring in a newer version
(without use of a PPA or compiling it yourself).

We can consider raising the minimums again once Trusty is EOL.
2018-03-31 05:53:45 -06:00
Sam Edwards bb6e0abeba ffmpeg: Switch the video cursor to the new decoding API 2018-03-31 04:17:07 -06:00
Sam Edwards 8d36908556 ffmpeg: Use `avcodec_flush_buffers` when seeking
Previously this would close and reopen the codec context;
that's entirely unnecessary, as all supported versions of
libavcodec support flushing the buffers instead.
2018-03-31 04:17:07 -06:00
Sam Edwards e430428703 ffmpeg: Add async audio decoding loop
This leverages libavcodec >= 57.37.100's new asynchronous API,
which both allows decoding in hardware and in a separate thread,
and in any case would free up more CPU time for Panda's app loop.

This also avoids use of the now-deprecated `avcodec_decode_audio4`
2018-03-31 04:17:07 -06:00
Sam Edwards 62f9de101a ffmpeg: Tell swresample the channel count 2018-03-31 04:17:07 -06:00
Sam Edwards 4ffd364415 ffmpeg: Simplify ffmpegAudioCursor.cxx a little
This refactors the `reload_buffer` loop so all of the decode
logic is inside the loop, and all of the resampling logic is
outside.
2018-03-31 04:17:07 -06:00
Sam Edwards eb591674e0 ffmpeg: Prefer av_packet_alloc over allocating AVPacket ourselves
av_packet_alloc/av_packet_free will know the correct size of AVPacket,
even if the ABI should change. So, we use it when it's available.
2018-03-31 04:17:07 -06:00
Sam Edwards 9596095294 ffmpeg: Use AVStream.codecpar
AVStream.codec is deprecated as of libavformat version 57.41.100,
so if this version is detected, we switch to AVStream.codecpar instead.

Note this also makes it necessary to construct and use our own codec
context - but doing that is a cleaner approach anyway.
2018-03-31 04:17:07 -06:00
Sam Edwards cc77c5dbe2 ffmpeg: Clean up ffmpeg_prefer_libvpx implementation 2018-03-31 04:17:07 -06:00
Sam Edwards 148010c5f0 ffmpeg: Remove code to support deprecated versions
See previous commit; now that we're enforcing explicit minimums, any
code to support anything older than those minimums is trivially dead.
2018-03-31 04:17:07 -06:00
Sam Edwards a19e9aea63 ffmpeg: Enforce minimum supported versions of ffmpeg
lavcodec:  54.86.100
lavformat: 54.59.106
lavutil:   52.13.100

These are the versions included in FFmpeg 1.1, which is the oldest
release that works with Panda already: we've been using
`av_opt_set_sample_fmt` (introduced in FFmpeg 1.1) since
03e96d8c4a (August 2013) and nobody has
complained since. In other words, I'm not dropping support for anything
here, I'm just making the supported versions explicit.
2018-03-31 04:17:07 -06:00
Sam Edwards 65210a5e49 ffmpeg: Fix a typo in version detection
See f0b3e08e9c
2018-03-31 04:17:07 -06:00
Sebastian Hoffmann 78377ca10c Cursor after newline character appears on beginning of next line.
DirectEntry.updateNumLines updates text geom.
DirectEntry API less inadequate.

Closes #257
2018-03-30 20:17:31 +02:00
deflected 30cf1dbbb1 pgraphnodes: Fixed the type of texture bytes in sceneGraphAnalyzer
- Corrected the type of texture bytes variable as it is possible
        to wrap it around

Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-03-30 14:38:39 +03:00
rdb b8af5bf64f cocoa: fix compile error caused by faulty merge
[skip ci]
2018-03-29 14:44:10 +02:00
Donny Lawrence 7830aab21d cocoa: Fix unresponsive menubar, add default item for application menu.
Closes #259
2018-03-29 14:30:16 +02:00
rdb 7062da944a cocoa: fix ability to type AltGr characters and dead keys
It would seem that interpretKeyEvents/insertText would be the right way to do this, but while that does handle AltGr keys correctly, it does not handle dead keys at all.  This approach seems to do the right things.
2018-03-29 14:22:59 +02:00
rdb 95bffa8503 Fix crash when typing unicode characters above 7fff into text field
Can be reproduced when typing Shift+AltGr+5 into a DirectEntry on macOS.
2018-03-29 14:17:39 +02:00
rdb 63b1e44977 framework: fix pview crash when exit is called inside render_frame
This can happen when a system event (eg. on macOS) triggers a terminate from within process_events.

This is a workaround for a common error; the proper fix is not to put PandaFramework in the global scope.
2018-03-29 14:11:21 +02:00
Sam Edwards 9dd37e9dbc general: Add guards to ensure proper BUILDING_ macros defined
This is designed to sanity-check the buildsystem, ensuring that the
expected BUILDING_ macros are defined at the expected time. It
also helps catch cases where the wrong BUILDING_/EXPCL_ macros
are used.
2018-03-25 13:17:52 -06:00
Sam Edwards 98797d0090 pandabase: Introduce BUILDING_ defines for each component
This reverses the relationship between EXPCL_PANDA_COMPONENT
and BUILDING_PANDA, where BUILDING_PANDA is just shorthand for
BUILDING_PANDA_COMPONENT and BUILDING_PANDA_COMPONENT itself
sets the EXPCL_PANDA_COMPONENT defines.

Also removes EXPCL_PANDA.
2018-03-25 13:17:52 -06:00
Sam Edwards 29318992d9 metalibs/panda: EXPCL_PANDA -> EXPCL_LIBPANDA 2018-03-25 13:17:52 -06:00
rdb 69d24993b6 bullet: fix compilation error with Bullet 2.81 2018-03-22 15:30:31 +01:00
deflected 3a88308f45 bullet: Cleanup copying of shapes
- Fixed copy constructors
        - Dropped operator= from shapes

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #283
2018-03-22 15:22:44 +01:00
deflected 733085e38e bullet: Write saved _up value for cylinder shapes
- Missed in previous commit.

Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-03-22 15:22:37 +01:00
deflected 5fec62b6fa bullet: Corrected possible false check
- When a bullet world is created it sets the filter
        algorithm callback that will use. Later changes to
        PRC config data should not lead to false assumptions
        that the bullet world is working with the new config.

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #289
2018-03-22 15:17:27 +01:00
deflected 09a9a8ff22 multifile: Return vector_uchar from readSubfile
- Return vector_uchar from readSubfile instead of
        string. This will correct problems with Python 3 unicode
        strings and will return bytes instead.

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #290
2018-03-22 15:12:30 +01:00
Sam Edwards cfd70ebead general: Remove '#pragma interface'/'#pragma implementation'
The GCC documentation states that, as of GCC 2.7.2, these aren't
necessary for proper program behavior. The documentation further
discourages their use because they don't suppress unnecessary code
duplication.

The Panda codebase these days uses "extern template class" instead,
which tells the compiler not to perform implicit template expansion
because an explicit template expansion is available for linking
elsewhere in the program. This is a more compiler-neutral way of
achieving the same thing as '#pragma interface', making
'#pragma interface' not only redundant, it could also mask problems
in the "extern template class" machinery.
2018-03-20 14:36:19 -04:00
Sam Edwards 2031409a6e gobj: Fix missing include 2018-03-18 00:27:05 -06:00
rdb adbab8deae x11display: reenable confined mode on window reconfigure
Fixes #280
2018-03-16 21:22:23 +01:00
Sam Edwards 477e6b7561 dxml: EXPCL_PANDA -> EXPCL_PANDA_DXML 2018-03-15 12:50:22 -06:00
Sam Edwards 32aceab7b4 grutil: Fix missing EXPCL_PANDA_GRUTIL 2018-03-15 12:48:44 -06:00
Sam Edwards 350f437fbe pandabase: Alphabetically sort pandasymbols.h
[skip ci]
2018-03-12 18:53:58 -06:00
Sam Edwards de2e35ee9a pandabase: Remove unused defines from pandasymbols 2018-03-12 18:33:16 -06:00
rdb aebdefcf60 Merge branch 'master' into deploy-ng 2018-03-11 23:01:10 +01:00
rdb 94ceace5af android: add activity for running Python programs
It can be launched from the termux shell using the provided run_python.sh script, which can communicate with the Panda activity using a socket (which is the only way we can reliably get command-line output back to the program.)

The Python script needs to be readable by the Panda activity (which implies it needs to be in /sdcard).

The standard library is packed into the .apk, and loaded using zipimport.  Extension modules are included using a special naming convention and import hook in order to comply with Android's strict demands on how libraries must be named to be included in an .apk.

[skip ci]
2018-03-11 22:53:08 +01:00
rdb 8e8283cbe1 android: enable writing stdout/stderr to a socket
This can be done by setting the extra string org.panda3d.OUTPUT_URI to tcp://host:port
Writing to a log file can still be done using file:///path/to/log.txt

[skip ci]
2018-03-11 22:36:17 +01:00
rdb 319b331553 ShaderGenerator: fix M_modulate_gloss regression
It was mapping the alpha channel of M_modulate_gloss to the glow channel.
2018-03-11 16:40:21 +01:00
rdb e0f8d7885a video4linux: don't block on reading camera frames
Add v4l-blocking variable to enable the old behaviour.
2018-03-11 16:39:00 +01:00
rdb 2563b65249 video4linux: support greyscale pixel format (eg. IR cameras) 2018-03-11 16:33:01 +01:00
Sam Edwards 5f14d9c48f char: Move JointVertexTransform::_matrix to CharacterJoint
The rationale is that CharacterJoint should contain all of the joint
state information, and JointVertexTransform should be pretty much devoid
of state so that we don't have to worry about synchronizing it.
JointVertexTransform::_matrix was just a cached/precomputed matrix
that transforms from original vertex positions to animated vertex
positions, so moving it to CharacterJoint doesn't change any engine
functionality.

This also removes the useless lock on recomputing that matrix. It was
useless because it was computing from shared state in CharacterJoint
that wasn't properly synchronized, but this would have to be fixed by
making CharacterJoint pipeline-cycled - a lock won't do.
2018-03-10 20:26:02 -07:00
Sam Edwards 280b13a289 char: Remove references to dead "ComputedVertices" class
This hasn't been a thing for nearly 13 years.
2018-03-10 20:15:39 -07:00
rdb 5d2110c644 bullet: add force_update_all_aabbs property to BulletWorld 2018-03-08 12:19:22 +01:00
rdb 15f6ed1ba2 androiddisplay: remove error messages leftover from debugging 2018-03-08 11:39:03 +01:00
rdb 9a31478744 task: remove accidentally committed debug message 2018-03-08 11:19:43 +01:00
Sam Edwards d8b48a3837 openal: `ptr != 0` -> `ptr != NULL` 2018-03-06 19:02:05 -07:00
Sam Edwards 99dc462174 openal: assert -> nassert 2018-03-06 19:02:05 -07:00
Sam Edwards c89bb3d030 openal: "reattempt" -> "retry" 2018-03-06 19:02:05 -07:00
Sam Edwards cb85d01de6 openal: Always use INLINE in .I files 2018-03-06 19:02:05 -07:00
Sam Edwards a10cd7d8bb openal: Always use release_sound_data
This simplifies cleanup() a little bit.
2018-03-06 19:02:05 -07:00
Sam Edwards 9a5d7d8254 openal: Add several asserts
This also includes a few slight style fixes.
2018-03-06 19:02:05 -07:00
Sam Edwards 1a6fb5300b openal: Be explicit about what constructs like `_sound != 0` mean 2018-03-06 19:02:05 -07:00
Sam Edwards fd5ce687b3 openal: Add cleanup guards to buffer functions
Without this, the audio might encounter an error, call cleanup()
on itself, and (if in the middle of update()) try to dereference
its recently cleaned-up _sd pointer.

Fixes #230
2018-03-06 19:02:05 -07:00
Sam Edwards 6ca0a68042 openal: Retry deleting a buffer until success
The rationale for this change is Apple's OpenAL implementation,
which needs a little time after the
`alSourcei(source, AL_BUFFER, 0);`
call before any buffers used by that source are free for deletion.

The defaults in the config variables are such that the OpenAL manager
will attempt to delete a buffer up to 6 times (that is, the original
attempt plus 5 reattempts), with delays of 1ms, 2ms, 4ms, 8ms, and 16ms
before each reattempt - which means it'll wait a grand total of 31ms for
a buffer to be free before assuming that some even greater problem must
be happening and giving up.
2018-03-06 19:02:05 -07:00
Sam Edwards 1862100bac openal: Don't assume alSourceUnqueueBuffers is FIFO 2018-03-06 19:02:05 -07:00
Sam Edwards 1b1c76b2e8 pgraph: Fix "Unknown render mode 5" errors
This happened when a M_dual transparent object is given the
M_filled_wireframe render attrib. M_dual would copy the transparent
parts of the object to the transparent back-to-front bin, before
the M_filled_wireframe handler could deal with the M_filled_wireframe
flag.

The solution is just to switch the order - let M_filled_wireframe be
dealt with before the transparency code gets a chance to make a copy.
2018-03-05 06:10:25 -07:00
Sam Edwards fd6eebb7fe bam: Fix circular reference with ClipPlaneAttrib
What's being addressed here is the circumstance where an ancestor of
a PlaneNode has a ClipPlaneAttrib that references said PlaneNode.

The code here is just being copied out of LightAttrib, which has the
exact same mode of operation (it nominates a sorted list of on/off
NodePaths) and a compatible structure. LightAttrib has had this problem
in the past, so using the same solution makes sense.
2018-03-05 05:26:54 -07:00
Sam Edwards 74bb2fef2e bam: Fix typo in ClipPlaneAttrib::fillin 2018-03-05 05:26:50 -07:00
Sam Edwards d088341da1 bam: Log object IDs when spamming read 2018-03-05 05:26:45 -07:00
rdb 43914f4e75 Merge branch 'master' into deploy-ng 2018-03-02 09:27:38 +01:00
deflected 8ad4c8e23c bullet: Fixed deadlock when loading from collision solids
- Fixed deadlock when loading ghost nodes from collision solids and
        have non-identity scale applied.

Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-03-01 23:36:10 +02:00
rdb 9638eb47eb Add support for geometry with adjacency information
Example code: https://gist.github.com/rdb/7cebb8941b962c59d5a092048efb3855
2018-03-01 21:20:19 +01:00
rdb f535a641e4 Merge branch 'master' into deploy-ng 2018-02-27 20:53:28 +01:00
rdb 4e640fcb60 Merge remote-tracking branch 'deflected/panda3d-master' 2018-02-27 20:41:01 +01:00
Sam Edwards 01b0835797 pandabase: Remove reference to DIRECTORY_DLLS
Nothing defines this under any circumstances.

Also this moves the various component EXPCLs and EXPTPs
within the include guard of the entire header.
2018-02-26 00:25:03 -07:00
rdb a5beccc99e chan: fix crash when AnimControl is destroyed in threaded pipeline
See #254 for related discussion.
2018-02-24 12:15:56 +01:00
deflected 8fd4584bd0 grutil: Add control over heightfield filtering in shaderTerrainMesh
Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-02-23 13:37:07 +02:00
Sam Edwards e3cc3eff82 putil: Optimize DatagramInputFile::get_datagram
This new loop is better in two ways:
1) It reads straight into the Datagram's internal buffer,
   saving the trouble of allocating an intermediate buffer
   and wasting CPU time to copy out of it.
2) It's more cautious in the face of large (>4MB) lengths,
   which are more likely to be due to corruption than the
   datagram *actually* being that large.
2018-02-23 01:38:27 -07:00
Sam Edwards 10f1ffa9a7 express: Fix Datagram::modify_array()
This just copies the array initialization out of append_data, so a
COW/uninitialized Datagram can be initialized with modify_array()
2018-02-23 01:38:26 -07:00
Sam Edwards 04cb128140 cftalk: Remove this
It was an incomplete experiment for distributing rendering pipelines over
a LAN of computers all working in concert.

Who knows, it may return someday. Until then, it's best not to keep it
around.
2018-02-22 15:18:34 -07:00
Sam Edwards f8e321d155 bam: Start more strongly checking pointer types in complete_pointers
This just starts with PandaNode, and uses DCAST_INTO_R instead of DCAST
to catch bad bams. BamWriter should never produce bam output that will
trigger this; I found this with a fuzzer.

I'm unsure about the tradeoff between bam loading performance and
robustness in the face of bad bams. It certainly makes a lot of sense
in debug builds, but we might want to consider a compile flag that
forces bam-related asserts always on even in release builds.
2018-02-22 04:57:29 -07:00
Sam Edwards 293465a516 bam: Add sanity-check against object IDs appearing twice
Found this by fuzzing; not concerned about updating the writer as
the writer itself should never do this. This is just to protect
against segfaults in the face of corrupt or malicious bams.
2018-02-22 03:13:33 -07:00
Sam Edwards 47a9aa4a80 bam: Simplify the resolve_*_pointers loops in BamReader
This should also be a slight performance boost since breaking out
of the loop upon discovering an incomplete child object means we don't
bother resolving everything else just to discard it all.
2018-02-22 02:03:33 -07:00
deflected 6c7894f68d terrain: set ShaderTerrainMesh heightfield wrap mode to clamp 2018-02-21 15:27:15 +01:00
deflected 9afdb78d94 bullet: make thread-safe by adding global lock mechanism
Also addresses some memory leaks.
2018-02-21 15:04:47 +01:00
Sam Edwards 50b3b87ad5 openal: Explicitly signal a needed cleanup from require_sound_data 2018-02-20 00:55:49 -07:00
Sam Edwards f970bc3229 openal: Don't return OpenALAudioSounds that fail to initialize
Also don't register them in _all_sounds, where they won't remove themselves
due to having already called cleanup() on themselves.

Additionally stops a sound in a cleaned-up state from being passed to the
app and played.
2018-02-20 00:55:49 -07:00
Sam Edwards ad7669e12a mathutil: Update FFTCompressor for FFTW3
This has been due for a while. The last FFTW 2.x release was in 1999.

Note that this does change some of the loops; this has two benefits:
1) The halfcomplex storage order is now explained with a comment.
2) It fixed the special case "don't break a run of bytes for a zero" which
   was never triggering due to the value not being *exactly* 0.0.

I have tested these changes against older FFT-compressed animation .bams
and no noticeable decompression changes are present, so a .bam version
bump is not necessary.
2018-02-17 22:32:38 -07:00
rdb 5c90f64182 text: fix is_whitespace() assertion when invalid chars are included 2018-02-17 20:50:18 +01:00
rdb 95eee0cab2 android: load prc files from assets. Move assets to /android_asset 2018-02-17 20:09:24 +01:00
rdb 8dea93bf38 android: fix touch/stylus taps triggering mouse1 for compatibility 2018-02-17 18:42:39 +01:00
rdb 6bd1976892 android: support writing png/jpg/webp via android.graphics.Bitmap 2018-02-17 18:40:08 +01:00
rdb 854d736882 pgraph: fix alignment error in 32-bit Windows with Eigen
Fixes #251
2018-02-17 18:30:58 +01:00
Sam Edwards ab7dbebf3f general: Remove lingering references to Helix
Support for Helix has been dropped long ago; it's very unlikely to return.
See also de4280ea20.
2018-02-14 17:26:35 -07:00
rdb c15c05f642 android: enable resume key events 2018-02-06 22:44:53 +01:00
rdb d269f7c6c3 android: allow stdout/stderr capture using extra field on intent
This allows launching the Panda apk from termux and getting command-line output back to termux.
2018-02-06 22:42:40 +01:00
rdb ae0f82911b android: allow launching pview by opening models (using Intents)
Also add code to show notification toasts.
Also enable model cache by default (pointing to app cache dir)
2018-02-06 22:36:21 +01:00
rdb 10789f6936 android: fix issue loading some image files 2018-02-06 22:33:57 +01:00
rdb c1fccd311b android: properly support multiple Java threads 2018-02-06 22:32:22 +01:00
Sam Edwards 8a7b47d501 audio: Fix memory leak in OpenAL 2018-02-04 23:06:34 -07:00
Sam Edwards fb6c92cf08 express: Move all vector_* types to dtoolutil 2018-02-04 17:12:03 -07:00
Sam Edwards fbe373dfdc general: Fix includes 2018-02-04 17:11:55 -07:00
Sam Edwards 0d079e2b80 general: Remove execute modes from ordinary text files 2018-02-04 17:11:43 -07:00
rdb 09bd662919 Merge branch 'master' of github.com:panda3d/panda3d into input-overhaul 2018-02-04 11:37:09 +01:00
rdb c1fd2e46de input: more device support on macOS (incl. SpaceNavigator) 2018-02-04 11:32:59 +01:00
rdb 6ada306184 input: split out macOS implementation of device manager 2018-02-04 11:00:43 +01:00
rdb 9e6d0d91ad input: fixes for older Android API levels (thanks to pmp-p) 2018-02-04 10:58:36 +01:00
deflected 50dafd087d bullet: Fixed calculating of Box dimensions
- Fixed wrong claculation of box dimensions, when
        creating BoxShape from solids

Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-02-02 23:19:47 +01:00
deflected ce79656141 bullet: Fixed crash when rendering bulletDebugNode
- Fixed crash when rendering bulletDebugNode without calls
        to doPhysics. This is caused by _debug_world pointing to
        invalid memory, while _debug_stale is true when bulletDebugNode
        is initialized.

Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-02-02 23:19:39 +01:00
nosyliam b562aba4e0 Support static linking with FMOD
Closes #241
2018-02-02 23:19:23 +01:00
rdb 18afcdbd0a android: handle right mouse button, more external keyboard keys 2018-01-29 20:09:58 +01:00
rdb 0fa8980be2 android: fix activity lifecycle issues (froze upon quit or resume)
It seems Android doesn't want an application to just quit on its own accord; after main() returns we need to kindly request Android to finish the activity and keep handling events until Android destroys the app.
2018-01-29 20:08:29 +01:00
rdb 7c1dd4050b android: change assets mount dir, point binary path to .apk
The binary path we get from /proc/self/exe isn't very useful; the path to the .apk is barely more useful but it still doesn't make a whole lot of sense.  It might make more sense to set it to the path of the native .so that is being loaded by NativeActivity.
2018-01-29 19:44:39 +01:00
rdb e301e5fe5e android: fix various compilation errors 2018-01-29 19:36:51 +01:00
rdb 94385e865f Merge remote-tracking branch 'origin/master' into input-overhaul 2018-01-28 14:31:45 +01:00
rdb d35e6c5113 android: include android_native_app_glue in repository
These files are from the NDK, but don't seem to be included in termux.  Since they are two small files that change very rarely, it's easier to just include them in the Panda repo.

[skip ci]
2018-01-28 14:27:35 +01:00
rdb 6e476e77a3 input: support imitation SNES USB gamepad on Windows 2018-01-28 13:47:11 +01:00
rdb 04352e152d ShaderGenerator: fix TextureStage mixup when stages are disabled
This fixes a regression that caused the wrong textures/stage settings to be applied when a texture stage was being optimized out (eg. when a normal map is present while lighting is disabled).
2018-01-26 15:39:30 +01:00
rdb 6a1d717e90 dxgsg9: support texture clear, gracefully handle 0x0 textures 2018-01-26 14:33:13 +01:00
rdb f3aaa12adc tinydisplay: support texture clear, gracefully handle 0x0 textures 2018-01-26 14:31:40 +01:00
rdb d6cf575225 pgraph: fix LightAttrib.compose resulting in wrong on_light values 2018-01-26 14:30:21 +01:00
rdb 3da32b7b7c input: split out LinuxInputDeviceManager from InputDeviceManager 2018-01-25 20:15:16 +01:00
rdb 2347587077 x11: respect cursor updates when in confined/relative mouse mode 2018-01-24 19:11:48 +01:00
rdb f189b817c6 input: fix name/manufacturer/serial fetching for some evdev devices 2018-01-23 12:59:14 +01:00
rdb 712b246dd6 input: reverse rudder direction to match yaw, reverse 3D mouse roll
Although having the rudder reversed is less intuitive, this makes it match the Panda convention for "heading".
2018-01-23 12:58:40 +01:00
rdb 8bd617c4ee input: new windows input manager based on raw input
The new implementation uses a message-only window to register raw input events.

XInput is still used when possible, but raw input is being used to handle device detection.  (XInput is only enabled when an XInput device is plugged in, which also prevents us from having to load and poll the XInput library unnecessarily.)

For raw devices, the Windows HID parser library is used to parse the raw data.  Unfortunately, the Windows 7.1 SDK does not ship hid.lib (which is in the WDK 7.1.0), so I am dynamically loading hid.dll to prevent pulling in a dependency on the WDK.  (But perhaps we can ship hid.lib in the thirdparty libraries?)

Input devices other than XInput gamepads and the 3D mouse have not been tested very well yet.  Adding keyboard and mouse support is still a TODO.

This also splits out the Windows implementation of InputDeviceManager into a separate subclass; it is intended that the other implementations will follow suit.
2018-01-22 22:05:14 +01:00
rdb 3977b9c57c collide: fix multithreaded pipeline crash with CollisionVisualizer 2018-01-18 21:23:54 +01:00
rdb fe0c182830 cocoa: fix app launching regression on macOS
The regression was introduced by ef7f856c46

Fixes #227
2018-01-17 19:46:30 +01:00
rdb 4c4288f491 display: lock GraphicsEngine mutex in remove_all_windows() 2018-01-17 19:46:11 +01:00
rdb fe3dab192f gobj: slightly more efficient string handling in Shader::make() 2018-01-15 23:27:46 +01:00
rdb 1cada85e6b ShaderGenerator: fixes for combine alpha blending 2018-01-15 12:20:27 +01:00
rdb 6a323081c0 pipeline: fix regression with Thread.getCurrentTask() disappearing
This method was accidentally un-exposed by 2e20a0f16e

Fixes #226
2018-01-10 20:17:43 +01:00
rdb dee4cd6201 bam2egg: support exposed joints properly
Also, don't use structured tag unless it seems necessary to preserve the structure
2018-01-10 20:14:25 +01:00
rdb ba9ea065e4 gobj: performance improvement for CPU animation
In particular it seems that decomposition is slow, so the code to handle the transformation of the normal column now tries harder to avoid it, especially in the case of a scale of 1.

Also see #222
2018-01-08 21:33:32 +01:00
rdb 73b4217cad input: fix joystick button and axis mapping on macOS 2018-01-07 19:34:49 +01:00
rdb 96f6bd7fa5 input: fixes for joysticks in Linux compatibility mode 2018-01-07 17:39:44 +01:00
rdb 2523bb0326 input: fixes for 3D mouse axes on Linux 2018-01-07 17:36:52 +01:00
rdb 9fbdefe120 input: add analog trigger emulation on Linux 2018-01-07 17:26:48 +01:00
rdb 4f739e88cf input: joystick buttons, use yaw/pitch/roll for axes, more devices
Also adds format_* functions to get string from enum value.
2018-01-07 14:50:54 +01:00
rdb 27bd7ae4ac Merge branch 'master' into input-overhaul 2018-01-07 12:08:59 +01:00
rdb b5e9f23e3b glesgsg: fix compile error on Arch Linux
[skip ci]
2018-01-07 12:07:49 +01:00
rdb 36636aad81 Merge remote-tracking branch 'origin/release/1.9.x' 2018-01-05 19:48:32 +01:00
rdb eaf3983c06 ode: fix trimeshes in double-precision ODE builds
Fixes #174
2018-01-05 15:40:59 +01:00
rdb 42f8978236 pgraph: sort "off" texture stages when loading from .bam
This fixes an issue where states loaded from .bam file containing more than one "off" texture stage would not compose properly.

Fixes #179
2018-01-05 15:16:42 +01:00
rdb 428c5cbbf3 gles2gsg: fix compilation error with OpenGL ES 2 2018-01-05 14:34:15 +01:00
rdb 5980b0b9ab openal: fix warning spam every frame in newer AL implementations
This fixes error messages being generated of the form:
AL lib: (WW) alSetError: Error generated on context 0x801cf8800, code 0xa003

This is caused by alSourceUnqueueBuffers being called without first checking whether processed buffers are available using alGetSourcei.

Fixes #180
2018-01-05 13:37:00 +01:00
rdb 58623b09bd input: add missing has_vibration() method to InputDevice 2018-01-03 14:48:47 +01:00
rdb 962e6e31e4 Merge branch 'master' into input-overhaul 2018-01-03 14:46:13 +01:00
rdb 1073f5abde pgraph: sort "off" texture stages when loading from .bam
This fixes an issue where states loaded from .bam file containing more than one "off" texture stage would not compose properly.

Fixes #179
2018-01-03 14:29:03 +01:00
rdb 4bac9efffe display: fix dispatch_compute and extract_texture_data in MT pipeline
This is required to make the test suite run with pipelining enabled.

It's necessary to let the draw thread do these tasks because that's where the OpenGL context is bound to.  However, we need to let it access the data from the calling thread, so we have to temporarily change the pipeline stage of the draw thread.

I'm not really happy about this solution; it would be better to temporarily make the context current to the app thread, but we need a window for that, which we don't currently require to be passed into that method.
2018-01-03 00:13:48 +01:00
rdb 512f305c12 display: fix assertions when removing window that isn't open yet 2018-01-03 00:09:30 +01:00
rdb 7ea16fd772 putil: fix copy constructor of SimpleHashMap 2018-01-02 19:07:43 +01:00
rdb 92787264de putil: fix assertion when global clock is created on non-main thread 2018-01-02 17:11:27 +01:00
Younguk Kim 84bdce01f2 Fix crash by end iterator while closing a window 2018-01-01 18:14:48 +09:00
rdb a96b171095 glgsg: only consider texture/texgen in munger if !gl_parallel_arrays
This could possibly be used to workaround issue #218
2017-12-31 09:51:25 +01:00
rdb a6f737d4eb linmath: make raising quaternion to power more meaningful
Fixes #160
2017-12-31 09:30:32 +01:00
rdb 7ee9467f8d shadows: fix shadow buffer creation deadlock in multithreaded pipeline
Fixes #162
2017-12-30 17:47:15 +01:00
rdb 39abc66025 gobj: reduce unnecessary use of threading primitives in constructors 2017-12-28 00:20:59 +01:00
rdb e04ddbef9a pipeline: fix multithreaded render pipeline deadlock
This deadlock happens when another thread holds a cycler lock and then attempts to call Pipeline::remove_cycler() while Pipeline::cycle() is running on the main thread.

The fix for this problem is threefold:
* Allow remove_cycler (and add_cycler) to be called while a cycle is in progress, by introducing a second lock
* Let cycle() not block if a dirty cycler can't be locked, instead trying other cyclers first
* Adding a way to let remove_cycler() check whether a cycler is currently in use by the main thread, and yielding if so

More information is on https://github.com/panda3d/panda3d/issues/217

Fixes #217 (also see LP 1186880)
2017-12-27 22:59:38 +01:00
rdb 8a94a0d439 loader: fix crash getting result from async load 2017-12-27 22:56:21 +01:00
rdb 588d41ed7e Fix assorted compiler warnings 2017-12-24 15:12:58 +01:00
rdb 0281f306e1 express: add PointerToArray.count() 2017-12-24 15:09:21 +01:00
rdb 540122e703 gobj: fix crash with ShaderBuffer 2017-12-24 12:41:52 +01:00
rdb ba8cbfd056 input: fixes for Linux scoring and axis/button mapping
This adds a list of known devices so that we can assign custom behavior to them.  I tested this with the T.Flight Hotas X flight stick and the NVIDIA Shield Controller.
2017-12-22 17:45:06 +01:00
rdb 920f1b75e3 input: support macOS gamepads, joysticks, raw keyboards/mice
I tested gamepads with a wireless 360 controller and a wired Xbox One controller using the 360Controller driver.  I tested the joystick support using a T.Flight Hotas X.
2017-12-22 15:33:33 +01:00
rdb 12cfc93b79 input: let InputDevice manage axis remapping, add C_twist axis 2017-12-22 15:21:50 +01:00
rdb ef9803b25e Changes to support compiling input-overhaul branch on macOS 2017-12-22 14:59:52 +01:00
rdb c911ba8059 Merge branch 'master' of github.com:panda3d/panda3d into deploy-ng 2017-12-21 15:10:53 +01:00
rdb ed5e5386b9 AsyncFuture improvements, incl. support for gathering futures 2017-12-21 14:07:01 +01:00
rdb ef7f856c46 cocoa: support windowless offscreen rendering on macOS
Fixes: #183
2017-12-20 14:27:08 +01:00
rdb f82a940878 glgsg: fix shader version in macOS 3.2+ context 2017-12-20 14:16:05 +01:00
rdb f0b21ee969 Support old Python 2 buffer protocol in PTA and Texture ram_image
This enables passing eg. str and array.array objects in Python 2
2017-12-20 01:23:26 +01:00
rdb 096d54de00 Add double-precision versions of encode_sRGB_uchar 2017-12-19 23:44:15 +01:00
rdb 061e0c4862 cocoa: allow getting a GL 3.2+ context on macOS 10.7+ using gl-version 2017-12-19 23:38:45 +01:00
rdb 9dcfcbf5fa texture: support store() on more component types (incl. sRGB)
This changes behaviour for sRGB textures, which weren't previously converting to the correct color space.

Also add unit tests for storing to PNMImage.

Closes: #212
2017-12-19 20:02:49 +01:00
rdb e9a50c8898 texture: fix get_clear_data() return type, make it work with sRGB 2017-12-19 19:27:36 +01:00
rdb e4e24eee56 glgsg: use T_float when downloading 24-bit depth textures
This is to match behavior with previous Panda3D versions.  See #212
2017-12-19 18:44:44 +01:00
rdb 348b1c344d texture: support uint/float/half/sRGB textures in TexturePeeker 2017-12-19 18:44:18 +01:00
rdb 9d2e1f92cb input: fix for Windows compilation, reenable raw input 2017-12-17 16:33:23 +01:00
rdb 8e6cf2a60b Merge branch 'master' into input-overhaul 2017-12-17 13:04:15 +01:00
rdb 29f50be15e Fix bug: copy-to-ram depth texture binding gets format set to RGB
This was a regression introduced by be8f4de337

Fixes: #212
2017-12-16 21:03:08 +01:00
rdb 9bfc425b75 Fix assertion when rendering bounding volumes (broken since 6f8b379) 2017-12-12 23:27:51 +01:00
rdb 193e4b5f59 interrogate: clean py_panda.h; use macros to access Dtool_PyInstDef 2017-12-12 23:03:38 +01:00
rdb 3e83f8c65e Fix priority argument ignored in NodePath::set_shader_input 2017-12-12 15:25:21 +01:00
rdb 46189dc1bf Compile fix for macOS build
[skip ci]
2017-12-04 22:52:23 +01:00
rdb 2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
Mitchell Stokes d90e59ca2d Merge branch 'master' into deploy-ng 2017-12-02 18:36:47 -08:00
rdb 69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb 3be22679a4 display: also avoid getting more than 24 color bits if 0 were requested
See issue #197
2017-11-26 00:06:03 +01:00
Mitchell Stokes fcb1d9308b Merge branch 'master' into deploy-ng 2017-11-25 14:58:25 -08:00
Mitchell Stokes aba26bd862 Merge branch 'master' into deploy-ng 2017-11-25 14:55:47 -08:00
rdb 749b23a190 Fix support for pickling NodePaths (broken in 1b1d80c)
Fixes: #199
2017-11-25 23:12:47 +01:00
rdb bec9ff8a40 loader: fix UB in try_load_file when loading file without known type 2017-11-23 01:15:44 +01:00
rdb 37572b312c loader: try appending .bam to filename if loading doesn't find model 2017-11-22 19:27:14 +01:00
rdb 46c8852eed text: fix for certain versions of HarfBuzz 2017-11-20 20:40:51 +01:00
rdb 0edac2e94a Work around gamma issue with 64-bit color depths on NVIDIA hardware 2017-11-16 23:52:12 +01:00
rdb 001804113a ShaderGenerator: make colorscale/texture blending match FFP better
A notable change is that the color scale is now applied *before* texture blending, matching the FFP.  If this breaks anything, we might want to add a configuration option for this.
This also implements the remaining combine modes, CM_dot3_rgb and CM_dot3_rgba, and fixes the broken CM_subtract mode (which currently worked the same way as CM_add).

Fixes: #189
2017-11-16 15:58:13 +01:00
consultit e13d14fe3d bullet: add bam serializability of remaining shapes
From #123 with significant changes from rdb.

Closes: #123
2017-11-08 01:53:53 +01:00
rdb 1b1d80cd27 More thoroughly fix issues with pickling Panda objects in Python 3
This also adds DatagramBuffer, a class for writing datagrams to memory and reading them from there again.
2017-11-08 00:02:35 +01:00
rdb 08629ef1a0 Fix a few compiler warnings 2017-11-07 15:38:40 +01:00
rdb 483a491ed7 interrogate: simplify coercion code
This remove support for coercing non-ReferenceCounted types that are neither default-constructible nor move-assignable, but it turns out none of the classes we really need it for matches that.
It further cuts down on the amount of code that is being generated to support coercion in cases where it makes absolutely no sense.
2017-11-06 19:53:38 +01:00
rdb dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
Younguk Kim a26662ce46 Fix compile error by missing header file 2017-11-02 18:04:36 +09:00
rdb 075cb14cbb bullet: implement debug draw via cull callback for efficiency
Now the debug drawing will no longer happen if the debug node is not being visited by the cull pass, ie. in another scene graph.  Furthermore, the generation code has been optimized a bit more.

This change means it no longer inherits from GeomNode.  Future improvements could include better culling (which is currently disabled entirely).

Closes: #130
2017-11-01 21:55:54 +01:00
rdb 745b51f10f ShaderGenerator: fix M_blend to match fixed-function pipeline
See panda3d/panda3d#178
2017-11-01 20:20:38 +01:00
rdb c17db98aec Merge branch 'pr-pview-adjust-camera-clip' of git://github.com/eswartz/panda3d 2017-10-31 20:15:38 +01:00
rdb 4cd826e63a Merge branch 'fix-audio-distance-factor' of github.com:nikolmiv/panda3d
Closes: #13
2017-10-31 19:31:27 +01:00
frainfreeze f22c0cdd83 Add README.md files for various directories
Closes: #10
2017-10-31 19:20:24 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb 51090ccf12 pgraph: fix LightLensNode assert due to bad refcount in LightAttrib::compose 2017-10-20 20:12:25 +02:00
rdb 407c8e8712 bullet: add interface to access BulletTriangleMesh vertices/triangles 2017-10-20 19:53:02 +02:00
rdb 8a35f360bd Fix build error 2017-10-18 12:29:44 +02:00
rdb 7d721a33a6 Restore setShaderInput overload taking 4 numbers, but deprecate it 2017-10-18 11:26:20 +02:00
rdb 410049fd4b Improvements for ShaderGenerator-based programs:
* Disable state munger, which isn't needed
 * Reflect updates to TextureStage properties (Fixes #178)
 * Also respect combine mode and rgb scale changes
 * Allow rehashing and clearing generated shader cache

State munger is now disabled whenever any shader is applied.  Panda assumes that any custom shader will apply color scale by itself.
2017-10-18 11:16:29 +02:00
rdb 6ecfcb1fd3 Store munged states more efficiently, without weak key maps 2017-10-17 23:21:38 +02:00
rdb 8078fa2b38 More efficiently store SimpleHashMap with empty values 2017-10-17 23:04:16 +02:00
rdb bb60e8c373 display: fix segfault when output is removed during render
Fixes: #176
2017-10-15 18:48:53 +02:00
rdb 0db3d27247 ShaderGenerator: fix updating color of combine stages with CS_constant
This also changes the function of TextureStage::uses_color(), which no longer incorporate TextureStage::involves_color_scale()

Fixes: #177
2017-10-15 17:06:59 +02:00
rdb 51d948a7fa Support compilation for Python 3.7 2017-10-13 12:40:47 +02:00
Eric Klawitter 5758fdf8f5 Fix 'of of' doc typos 2017-10-09 14:56:40 -05:00
rdb bf190f7306 interrogate: support MAKE_MAP_PROPERTY 2017-10-09 00:02:46 +02:00
rdb 0e2b14cf4c pgraph: custom binding for set_shader_input()
Should be faster and more reliable at PTA handling
We no longer need the interrogate perf hack for the first-arg InternalName

Fixes: #161
2017-10-08 17:50:28 +02:00
rdb 8ed85c80c8 linmath: permit single-argument/fill value for UnalignedLVecBase4 2017-10-06 23:59:17 +02:00
rdb dfa47e55ce express: fix PTA get_data in Python 3, fix CPTA construction
Fixes: #173
2017-10-06 18:24:32 +02:00
rdb be8f4de337 display: add_render_texture should set correct texture format 2017-10-05 17:35:31 +02:00
rdb 85a9cdd052 Add a way to get access to OpenGL texture index 2017-10-05 17:34:26 +02:00
Younguk Kim b71ee446e3 Add has_hook functions taking function pointer or callback data in EventHandler 2017-09-24 02:46:00 +09:00
rdb 019df482d6 windisplay: fix origin not changing upon window being dragged 2017-09-19 19:16:48 +02:00
rdb 35349b6224 Expose DatagramOutputFile to Python, add props to DatagramSink 2017-09-17 01:38:59 +02:00
rdb 82eec0302b ShaderGenerator: fix point light shadow regression
Fixes: #167
2017-09-04 13:03:37 +02:00
kamgha f09d767c6e pnmimagetypes: introduce png-compression-level PRC variable 2017-08-31 13:03:17 +02:00
rdb a925e0bcd9 x11: fix loading 24-bpp ico/cur image alpha with width 24 2017-08-29 23:51:15 +02:00
rdb bbdc5d2341 pnmimage: mark many heavy methods as BLOCKING to release GIL 2017-08-22 20:04:59 +02:00
rdb 4fae81947e Fix regression (since 6f8b379) causing crash in flattening edge case 2017-08-07 23:00:28 +02:00
rdb e3d8123940 glsl: fix broken shadowMatrix as member of named light input
Fixes: #157
2017-08-07 22:58:02 +02:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb 65ae1e16bc ShaderGenerator: support multiple normal maps
Uses Reoriented Normal Mapping to blend additional normal maps.

Fixes #156
2017-07-15 20:17:29 +02:00
rdb f79fbf25c3 ShaderGenerator: big overhaul, don't generate more shaders than needed 2017-07-10 21:55:27 +02:00
rdb 1b690e528f vfs: don't crash if copy_file can't open output file (LP 1687283) 2017-07-10 21:13:57 +02:00
rdb 8b3ad7348e cocoa: fix broken mouse events in fullscreen on macOS (LP 1500026) 2017-07-10 19:53:53 +02:00
rdb 925ce854d0 general: make DO_MEMORY_USAGE setting not change ABI compatibility 2017-07-10 19:50:09 +02:00
rdb 5fffbbce47 express: error if Windows-style path is used (LP 1429241) 2017-07-10 14:25:41 +02:00
rdb 2e5051ac04 bullet: fix crash when adding non-indexed GeomTriangles to trimesh 2017-07-10 01:54:37 +02:00
rdb 9a40febdb9 shadows: fix light buffer not being destructed after light removal
Fixes LP 1672089
2017-07-09 20:36:13 +02:00
rdb 1fd8af5acd express: add C++11 methods to ordered_vector 2017-07-09 19:56:56 +02:00
rdb 84520ce21c display: prefer 24-bit depth buffer on Intel over 16-bit 2017-07-09 19:53:23 +02:00
rdb a866f9fbcb audio: fix case of get_speaker_setup/set_speaker_setup methods 2017-07-09 15:47:09 +02:00
rdb e45af355cc glgsg: fix multisample FBO regression (on Intel Windows driver) 2017-07-09 15:32:13 +02:00
Younguk Kim e07e5d0203 Fix assert macros that cause a crash in non-debug 2017-07-05 19:49:46 +09:00
The Cheaterman 86cbdddd76 Fix float precision issues in bulletHeightfieldShape
Closes: #152
2017-07-03 22:36:22 +02:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +02:00
rdb 48c811e112 cull: remove GeomMunger stored on CullableObject 2017-07-03 11:47:59 +02:00
rdb f57a3f9cde Hack to remove build warning on MSVC 2010
Fixes LP #1700329
2017-07-03 11:13:02 +02:00
rdb 9c4151cb0f ShaderGenerator: fix TextureAttrib assertion
This was caused by af57c829d2 and was triggered by a change in TextureStage sort.
2017-06-22 13:36:47 +02:00
rdb 511b0c10e5 ShaderGenerator: don't generate a shader per Material 2017-06-22 13:35:46 +02:00
rdb c6dda2a44a vfs: Show IOError instead of AssertionError if read_file fails
The methods are marked non-BLOCKING since the GIL needs to be held while throwing exceptions.  We handle the GIL in the extension functions instead.
2017-06-20 21:52:22 +02:00
rdb b41496b17a Fix texpad/texpix inputs not updating (fixes CommonFilters resize issue) 2017-06-20 19:15:12 +02:00
rdb af57c829d2 ShaderGenerator: reduce combinatoric explosion of shaders
This is done by:
* Not considering the texture pointer when looking up a generated shader, only type
* Not requiring different shaders based on RescaleNormalAttrib
* Not looking at AlphaTestAttrib unless it is going to be relevant

This should dramatically reduce the number of shaders that are being generated for many scenes, especially since the only thing that differs from object to object is often just the texture.

These changes are also necessary to make b781995ef1 more usable, since prepare_scene may see a slightly different state than is encountered at render time due to code in CullResult adding in an AlphaTestAttrib or RescaleNormalAttrib.
2017-06-20 18:45:49 +02:00
rdb b781995ef1 ShaderGenerator: prepare_scene now invokes shader generator.
This also necessarily removes ShaderGenerator's dependency on a host window.
2017-06-20 16:16:30 +02:00
rdb 90f96fc1a9 Change SimpleHashMap implementation to improve performance of GC.
The new implementation stores elements contiguously and keeps a separate sparse array of indices, similar to the new PyPy and CPython implementations.  This vastly improves performance when iterating over the individual elements, such as when garbage collecting states, and decreases memory usage.
2017-06-12 19:58:02 +02:00
rdb ca2e96d296 Fix for certain libjpeg versions that override INLINE macro 2017-06-12 19:46:59 +02:00
rdb 6b882ac767 Fix slow garbage collect after using a lot of states 2017-06-09 20:12:49 +02:00
rdb 2e8d09a99c Workaround for compiler bug when producing debug build
(with thanks to consultit)
2017-06-09 19:48:44 +02:00
rdb 828f1c10ca Support loading Opus audio files via libopusfile. 2017-05-24 22:21:54 +02:00
rdb 257311cc0c physics: fix crash in edge case when PhysicalNode dies before Physical
Also add more assertion checks
2017-05-24 20:21:48 +02:00
rdb 904209b277 Split out interrogate jobs for dtool directories from express 2017-05-24 13:44:52 +02:00
rdb 53794e8e36 Get rid of unnecessary DisplayRegionBase class 2017-05-24 13:42:01 +02:00
rdb d576c6b638 Improvements to generated API docs, especially in direct tree.
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
rdb c52bab1805 stb_image: update to v2.15, support 16-bit PNGs
Also removes SSE2 runtime detection, which was causing compilation issues on Fedora
Also now supports HDR images with #?RGBE header
2017-05-24 13:19:18 +02:00
rdb 68be3c6dfe More efficient light handling; sort lights by highest priority first 2017-05-15 16:59:44 +02:00
rdb a71a89acc2 putil: make UpdateSeq a literal type 2017-05-15 16:34:13 +02:00
rdb 7755a2e1c7 shadows: provide dummy shadow maps for nonexistent/noncasting lights 2017-05-15 14:50:50 +02:00
rdb 652f2d7f21 bullet: improve performance of adding geometry to BulletTriangleMesh 2017-05-14 22:17:41 +02:00
deflected 560fd4eb3d panda: Get rid of few warnings
- Correct missing override
        - Correct deprecated XKeycodeToKeysym
        - Correct deprecated @exec for FreeBSD pkg plist

Signed-off-by: deflected <deflected@users.noreply.github.com>
Closes #144
2017-05-14 00:02:33 +02:00
rdb 81e414030e Fix RenderState cache leak - gc did not work properly
(Thanks to deflected for helping to track this down)
2017-05-13 23:30:09 +02:00
rdb e15cfd74e8 Prevent assertion when calculating bounds for geom without vertices 2017-05-13 21:40:59 +02:00
wolfgangp a1a99c49c0 Buffer protocol support for (Const)PointerToArray of vectors and matr… (#148) 2017-05-06 02:16:07 +02:00
rdb 160f652d58 text: use HarfBuzz for text shaping; support right-to-left text 2017-04-25 12:25:31 +02:00
rdb e67ebd80cd glgsg: deal with false negatives with feature checks on Intel 2017-04-14 19:40:02 +02:00
rdb fa1b656961 glgsg: fix get_host() of GL FBO. Fixes LP 1672560 shadow bug 2017-04-09 22:14:20 +02:00
rdb f7af155e93 Compile with VS 2015 Express, build assimp on Windows 2017-04-03 13:57:40 +02:00
sean5470 97cd007af3 bam2egg: retain model nodes
added code to retain model nodes that are not DCS nodes.
2017-04-03 02:28:37 +02:00
rdb 2980bbc955 android: fix error when uploading BGRA image 2017-04-03 01:41:28 +02:00
rdb 6f8b379bda Big patch full of performance improvements
This particularly benefits applications with a lot of nodes.
2017-04-03 01:41:23 +02:00
rdb 163c923c82 Backport various fixes for 1.9.4 2017-03-31 18:08:49 +02:00
wolfgangp f773bf6328 Add properties to Bullet classes (#140) 2017-03-29 11:38:39 +02:00
rdb 605ac1189f text: kerning should respect text scale 2017-03-28 21:13:03 +02:00
rdb e1c0e7d1d4 text: add experimental kerning support, enabled by 'text-kerning' 2017-03-27 19:15:09 +02:00
rdb 9d05044a9f shadows: force interocular distance to 0 for shadow cameras 2017-03-23 12:22:34 +01:00
rdb d8066e19b1 Fix assertion when using Texture.load_sub_image to load entire image 2017-03-22 22:42:21 +01:00
rdb 64a7fbab87 glgsg: fix assertion encountered when trying to use pointer textures
Fixes LP 990089
2017-03-10 23:01:11 +01:00
Younguk Kim 0406a49edc Fix include guard typo. 2017-03-10 15:51:11 +01:00
rdb 63be56cd0e Backport part of b21e8fdf32 that fixes an issue with geometry generation when multithreaded pipeline is enabled
Fixes bullet soft body issue as well as LP 1671639
2017-03-10 15:46:44 +01:00
rdb 20085d182a Backport 4a8819b0bd (MeshDrawer fixes and improvements)
* Fix random number generator on Windows (LP 1663895)
* Assert instead of crash when passing in non-Camera to begin() (LP 1663900)
* Prevent repeated calls to generator()/set_budget() from leaking GeomNodes (LP 1663903)
* Make the generator more efficient
2017-03-10 15:44:47 +01:00
rdb ce736ad093 glsl: fix issue with vertex colors not showing up 2017-03-10 12:25:21 +01:00
rdb 4f299fa71f Fix compilation when building without threads enabled 2017-03-09 14:31:07 +01:00
rdb 3db8ce2562 Fixes for ARM build 2017-03-08 12:28:06 +01:00
rdb 72262ea15a Fix compiler issues on Windows 2017-02-21 21:38:46 +01:00
rdb 8ec4da2824 Compile fixes for compilers that don't support all C++11 features 2017-02-21 02:45:30 +01:00
rdb 1eaa1bcf70 Fix error when not compiling with clang 2017-02-21 02:27:28 +01:00
deflected 351627a0e3 glgsg: fix false positive for buffer texture detection on OpenGL 3.0 2017-02-21 02:21:50 +01:00
rdb edb83fe89a Various optimizations to reduce performance overhead of rendering 2017-02-21 02:20:06 +01:00
rdb 6104e75eb0 bam2egg: generate a sphere from polygon with four vertices instead of two 2017-02-20 15:09:11 +01:00
rdb b113d9db55 Fix incorrect type hierarchy of HermiteCurve, PandaNode, ShaderGenerator 2017-02-20 00:32:05 +01:00
rdb 53258af876 display: reduce GraphicsEngine traversal overhead a bit 2017-02-20 00:23:21 +01:00
rdb 4a8819b0bd MeshDrawer fixes and improvements:
* Fix random number generator on Windows (LP 1663895)
* Assert instead of crash when passing in non-Camera to begin() (LP 1663900)
* Prevent repeated calls to generator()/set_budget() from leaking GeomNodes (LP 1663903)
* Make the generator more efficient
2017-02-19 22:16:49 +01:00
Jose Luis Cercos Pita aa00138b34 Support core-only OpenGL contexts in the default build.
This is a squashed commit of the following, as well as my own (rdb's) revisions:

commit 80662759a18607743316f75ee6aa4a63c3f8d8e6
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 15:07:29 2016 +0100

    Removed some useless fixed pipeline checks

commit 563b5dbe93b451006ddbf3797aabdda7482ef3de
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 14:19:21 2016 +0100

    Improved the LUMINANCE check system

commit 596036a8bb59d627f703bccfdc399dc31e1723a9
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:30:45 2016 +0100

    Removed some useless fixed pipeline checks

commit 0f7fa7cd33860c3cde1b4594731271170301b42d
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:26:07 2016 +0100

    Don't try to check if fixed pipeline is available before the context has been generated

commit 56ed18e29dcb0a7cb0feccd0d50038416637427f
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:14:49 2016 +0100

    Assuming the fixed pipeline is available in GL 3.1 contexts

commit 73075ead73be21c8ce9a468ed92eb2c8c7d548c4
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Fri Nov 4 12:59:45 2016 +0100

    Fixed errors while quering for GL_TEXTURE_LUMINANCE_SIZE and GL_TEXTURE_INTENSITY_SIZE in GL >= 4.0 core profile contexts

commit 3f799ed20be22f6f82de13445c5f9515a424ef9f
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Fri Dec 16 10:01:03 2016 +0100

    Added fixed functions pipeline support check at runtime

Closes: 128
2017-02-19 20:15:54 +01:00
rdb f5f51c5d5b Remove OpenSSL includes from headers, so C++ users don't need to have OpenSSL 2017-02-17 16:15:04 +01:00
rdb 21a42f62df Fix FreeBSD compile error 2017-02-17 13:02:01 +01:00
rdb 78e4c71202 Fix issue with taking screenshots from an FBO 2017-02-17 13:02:01 +01:00
rdb 8c914a2855 Work towards ABI stability wrt allocation. Let MemoryHook take advantage of dlmalloc's internal bookkeeping. 2017-02-17 13:02:01 +01:00
rdb 2acde88695 New alignment code to hopefully fix the alignment issues 2017-02-10 03:01:32 +01:00
rdb fdffcc280b Fix compile error for ancient clangs 2017-02-10 00:38:18 +01:00
rdb dcb793aed4 Clean up cpuid code, make selection of cpu/mem info available on Linux, macOS and FreeBSD 2017-02-09 22:56:37 +01:00
fireclawthefox f1e1c2b891 Fixes for device button handling
Made State enum accessible from python side
Fixed missing state changing in evdevInputDevice class
2017-02-08 17:04:28 +01:00
rdb cfe810ace7 Add set_shader_inputs for efficiently setting multiple shader inputs 2017-02-06 13:16:27 +01:00
rdb c3a196860a downloader: support TLS SNI when negotiating with SSL server 2017-01-28 17:41:09 +01:00
Younguk Kim ad34bc3eb8 Fix include guard typo. 2017-01-26 00:16:26 +09:00
rdb a15d84dbeb Fix compile errors and warnings in MSVC 2010 / GCC 4.6 2017-01-12 15:18:48 +01:00
rdb e60d1e292e Make better use of C++ rules for implicit generation; allow PointerTo and some mutex impls to be static initialised 2017-01-12 12:34:15 +01:00
rdb 2de6c85fc9 glsl: fix shadowMatrix for point lights 2017-01-10 19:36:03 +01:00
rdb 749e09d49e ffmpeg: don't hide last frame of video
This is not quite a complete fix, since the last frame of the video won't be shown long enough for it to matter when looping the video.  A more complete fix may be needed later.
2017-01-09 23:10:51 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb 72a1a9820b Fix issues in ancient ffmpeg versions (Eg. Ubuntu Precise) 2017-01-08 17:50:48 -05:00
rdb 41d26284d7 Fix various compilation issues on Mac.
Work around bugs in Apple Clang that ships with XCode 4 with C++11 by disabling constexpr
Use move() instead of std::move()
It also looks like we'll have to continue using pystub for tools that use libp3interrogatedb for now.
2017-01-08 17:17:56 -05:00
David Rose c4d232b0be publish PfmVizzer destructor to fix leak 2017-01-04 16:56:09 -08:00
David Rose 63eb1636a9 Merge branch 'master' of https://github.com/panda3d/panda3d 2017-01-04 16:28:42 -08:00
David Rose 603f0eb3b1 fix occasional crash in PNMImage::quick_filter_from() 2017-01-04 16:28:38 -08:00
rdb 9facf874ab Let compiler synthesize QuadDef move assignment operator
This hopefully fixes a compile issue with older clang versions.
2017-01-04 23:53:55 +01:00
rdb cf105f276c More alignment fixes for 32-byte AVX 2016-12-28 20:23:27 +01:00
rdb 94641c83a0 linmath: use correct 32-byte alignment when compiling Eigen with AVX 2016-12-28 19:18:21 +01:00
rdb 8434914ab6 Merge branch 'master' into input-overhaul 2016-12-28 17:26:58 +01:00
rdb fa7f385bb8 More work on integrating new input framework 2016-12-28 17:25:55 +01:00
Sam Edwards ea2305de70 general: Fix missing includes. 2016-12-26 18:11:03 -07:00
rdb ab5b5e7e74 Merge branch 'release/1.9.x' 2016-12-25 22:47:22 +01:00
rdb 4393455eba Fix get_keyboard_map on Czech (and other) layouts
Now reports proper Unicode name, and doesn't omit keys that don't have a recognised mapping by Panda
https://bugs.launchpad.net/panda3d/+bug/1652145
2016-12-25 16:12:54 +01:00
rdb 59c3aa3ef6 cocoa: don't crash if display server doesn't give us display modes 2016-12-25 09:59:29 -05:00
rdb 45356e85e1 Backward compat with older OpenSSL versions 2016-12-25 11:48:38 +01:00
rdb 28bb737597 Load X11 extensions dynamically; don't expect them to be there at compile time
Add x-cursor-size variable for overriding XCursor size.
2016-12-24 22:21:53 +01:00
rdb 122d9dd3ff Support building with OpenSSL 1.1.0 2016-12-24 22:19:51 +01:00
rdb 2ac1734566 Fix crash when trying to write 16-bit TIFF file (LP bug 1222922)
Note: does not actually add support for writing 16-bit tifs; Panda just doesn't crash but automatically downsamples to 8-bit.
2016-12-23 00:36:59 +01:00
rdb 056ea94765 Fix PythonThread crash (LP bug 1245818) 2016-12-22 21:28:19 +01:00
rdb 7d414500c6 Various compile fixes 2016-12-22 11:34:47 +01:00
rdb e8fbd2f9da Fix potential crash in shader preprocess code 2016-12-21 18:14:46 +01:00
rdb 62d0d8292e More texture load/store performance optimisations 2016-12-21 18:04:08 +01:00
rdb 92302942fe Changes to build on ancient Linux distributions (CentOS 5 / manylinux) 2016-12-21 17:40:49 +01:00
rdb a13fb0e8ca Fix compilation issue with older ffmpeg versions 2016-12-21 17:35:45 +01:00
rdb 5aa8618572 Don't error if passing an oversized matrix array to a mat4[1] shader parameter 2016-12-20 23:18:05 +01:00
rdb eab2a1a733 Add CP_area_priority for area lights 2016-12-19 23:39:50 +01:00
rdb da79c28a6c Add RectangleLight class 2016-12-19 23:29:42 +01:00
rdb 4b5c317160 Improve shader caching; cache result of preprocess if cache-generated-shaders is set 2016-12-19 22:26:16 +01:00
rdb 36f2eda9ec Fix name of "Buffer switch" pcollector in pStatProperties.cxx 2016-12-18 00:12:26 +01:00
rdb da0d7752c1 Register .webm extension for videos 2016-12-18 00:08:59 +01:00
rdb b6cb9b0045 ffmpeg: support videos with alpha; add ffmpeg-prefer-libvpx prc var
ffmpeg-prefer-libvpx forces ffmpeg to use the libvpx decoder for VP8/VP9 files, allowing the playback of WebM files with an alpha channel.
2016-12-17 00:17:30 +01:00
rdb 34068dc0c1 Implement support for SSBOs 2016-12-13 21:22:17 +01:00
rdb 23645cc407 Fix DDS load crash with certain formats; support R16, RG16, R32, RG32 2016-12-13 21:00:11 +01:00
rdb b21e8fdf32 COW performance tweaks; also somehow fixes Bullet soft body issue 2016-12-11 15:30:03 +01:00
rdb 9eb04a533d More texture load/store performance optimisations 2016-12-09 01:41:32 +01:00
rdb b217752e16 Merge remote-tracking branch 'origin/release/1.9.x' 2016-12-07 23:03:16 +01:00
rdb a1338b9ac6 Backport to 1.9: fix for distance sorting with gl-coordinate-system changed 2016-12-07 23:00:06 +01:00
rdb 83d54bcdaf Try to preserve refresh rate when switching display mode on Windows 2016-12-07 22:57:53 +01:00
rdb b1d61b7b10 Fix back-to-front sorting with gl-coordinate-system set to a custom value 2016-12-07 19:36:31 +01:00
rdb ceee5e9df9 Show texture names in glBindTexture() calls in spam output 2016-12-07 19:32:01 +01:00
rdb e778c529b2 Implement Python 3.6 fspath protocol; allow passing a pathlib.Path wherever Filename is expected
The Python 3.6 fspath protocol allows passing Filename objects into any Python standard library calls that take a path.
2016-12-07 00:42:44 +01:00
tobspr 3fa5b6b4ee Add prc variable to force image bindings as writeonly (#131) 2016-12-06 18:42:08 +01:00
rdb 6344c05b18 Clean up dynamic loading of Win32 funcs, remove makepanda touchinput setting, remove checks for pre-WinXP 2016-12-05 17:21:09 -05:00
rdb c410d812ff Remove some settings from dtool_config.h to prevent rebuilds:
- HAVE_OPENCV
 - OPENCV_VER_23
 - HAVE_FFMPEG
 - HAVE_SWSCALE
 - HAVE_SWRESAMPLE
2016-12-05 16:32:13 -05:00
rdb 6dc6b05409 Merge remote-tracking branch 'origin/release/1.9.x' 2016-12-05 02:01:44 +01:00
rdb 84789ecdd1 Fix GL compile error on Mac OS X 2016-12-04 21:28:52 +01:00
rdb 2b6e192e5a Protect against overallocation when reading corrupt texture from bam 2016-12-03 01:04:35 +01:00
Sam Edwards 573dad8dde general: Fix missing includes. 2016-11-30 19:21:34 -08:00
rdb 1c957b26b4 Fix for getting R8 and R8G8 formats via FrameBufferProperties 2016-11-29 23:07:37 +01:00
rdb 441b791e57 Fix extract_texture_data for buffer textures 2016-11-29 23:05:01 +01:00
rdb 5ad900a413 Bullet fixes: copying compound shapes, compile warnings, motion state alignment 2016-11-29 22:43:28 +01:00
rdb 7db45cb647 Make fetching of p3d_LightSource[n] input clearly defined for non-existent lights
Refer to OpenGL 2.1 spec page 61

Closes: #129
2016-11-27 14:25:58 +01:00
rdb 78bf339c41 Fix material shader inputs not being updated properly 2016-11-27 14:24:37 +01:00
rdb cf389276da Backport b02e352 to 1.9:
rdb: Fix wrong GL texture being bound to image slot after being recreated
2016-11-27 13:04:54 +01:00
rdb b02e3521bc Fix wrong GL texture being bound to image slot after being recreated 2016-11-27 12:30:37 +01:00
rdb d3008c56e0 Merge branch 'input-overhaul' of github.com:grimfang/panda3d into input-overhaul 2016-11-22 12:15:37 +01:00
rdb d0e9f136c0 Merge branch 'master' into input-overhaul 2016-11-22 12:15:21 +01:00
rdb 8c1f64e086 Fix for 1.9: fix errors when Cg-style matrix inputs are mat3 2016-11-14 19:41:54 +01:00
rdb 7259425b7c Let's do away with Geom-wide usage hints, it's not very useful 2016-11-03 11:34:10 +01:00
rdb 7bef96e71d Don't give misleading error when image shader input is missing 2016-11-03 11:11:02 +01:00
rdb 29411f5e14 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-31 22:32:39 +01:00
rdb 4526de8f7a Fix exception when trying to pickle NodePathCollection objects 2016-10-31 22:07:01 +01:00
rdb ed761f2997 Fix build without Python 2016-10-31 20:14:48 +01:00
Mitchell Stokes 59b0913b0b Cleanup .gitignore files
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
Mitchell Stokes 81dd4d97ad Implement make_copy() for BulletRigidBodyNode
This appears to be the last piece needed to load BulletRigidBodyNodes from BAM files.
2016-10-27 13:56:02 +02:00
rdb 1049088f11 Clean up some of the dtool_config.h variables 2016-10-24 22:10:46 +02:00
rdb ef986ccfc0 Texture.set_ram_image(_as) now directly accepts buffers with right component size 2016-10-24 21:29:43 +02:00
rdb a757cb47e8 Add tube-into-plane and tube-into-sphere tests 2016-10-24 17:34:55 +02:00
rdb df998fb24c bam2egg: support collision masks, UvScrollNode 2016-10-24 17:20:21 +02:00
David Rose 775c69b53d PfmFile::set_point() should allow NaN's 2016-10-23 19:14:39 -07:00
rdb 62c008602e Merge branch 'release/1.9.x' 2016-10-20 11:14:37 +02:00
rdb ea82d9d664 Preserve "intangible" and "level" collide flags in bam2egg 2016-10-20 11:02:19 +02:00
rdb e2fe951322 Fix compilation errors in Bullet 2.84/2.85 2016-10-16 00:14:05 +02:00
rdb 33c309d78f Make stb_image loader not rely on seeking to read .jpg files 2016-10-13 00:27:17 +02:00
rdb f1f4951fb5 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-13 00:25:57 +02:00
rdb 7c45e891f5 X11: fix .ico cursor bug. Support PNG-compressed .ico files. 2016-10-13 00:16:40 +02:00
rdb 4381412d23 Merge branch 'release/1.9.x' 2016-09-28 00:14:21 +02:00
rdb 3f53994372 Fix mipmap filtering issues in tinydisplay renderer 2016-09-28 00:00:22 +02:00
rdb 2e9394eba7 Fix tinydisplay texture errors on shutdown 2016-09-27 22:38:03 +02:00
rdb 3ee033eeeb Write texture types when pview failed to recognise extension 2016-09-27 21:33:11 +02:00
rdb c9ea02445e Fix state attribs at primitive level in bam2egg; also prevent duplication of state attribs at primitive level if possible 2016-09-18 11:31:04 +02:00
rdb 7c79a999a5 Fix optimize=4 build on Windows; adjust Travis to make one opt4 build 2016-09-16 12:58:27 +02:00
rdb 3eed7bc042 Fix compilation issue for gcc versions before 4.3 2016-09-16 00:54:00 +02:00
rdb 0bdafe45ce Fix various issues in bam2egg:
* No longer inserts an extra root group for the ModelRoot
 * Support depth test, offset and cull bin attributes
 * Preserve non-GeomNodes under Character
 * Render attributes are applied on group level if possible
2016-09-14 21:54:35 +02:00
rdb 08ea4bf2e5 Merge branch 'release/1.9.x' 2016-09-14 20:57:26 +02:00
rdb 2c651dc96b Fix is_playing() when playing an animation backwards 2016-09-14 20:55:57 +02:00
rdb 9904980ce4 Fix async flatten of node without parents 2016-09-14 17:29:53 +02:00
deflected 234e7eefee loader: Added loading of 2D texture array
Signed-off-by: deflected <deflected@users.noreply.github.com>
2016-09-12 13:21:23 +03:00
rdb 70f10a70d1 Merge branch 'release/1.9.x' 2016-09-12 00:48:03 +02:00
rdb 632ad5e3ef Acquire mutex in cache_unref() - fixes race cond in async flatten 2016-09-12 00:36:36 +02:00
rdb a0b2a98178 Fix crash that happens when using OdeTriMeshData incorrectly 2016-09-11 12:23:28 +02:00
rdb 558f84a95f Backport normalized() method to 1.9 branch 2016-09-08 22:53:36 +02:00
rdb dc29ac8d34 Merge remote-tracking branch 'origin/release/1.9.x' 2016-09-08 22:31:04 +02:00
rdb 4d8a9aa3a1 Fix automerge failure 2016-09-08 22:27:25 +02:00
rdb 61b7af74db Merge branch 'release/1.9.x' 2016-09-08 22:18:50 +02:00
rdb 206d361f49 Support for CollisionBox, InvSphere and Tube in bam2egg 2016-09-08 22:14:44 +02:00
deflected abb6ee0542 gobj: Fixed wrong texture pool key for 2D texture arrays
- 2D texture arrays are added to internal storage with
        specific unique name, so keep it as texture pool key
        instead of filename.
2016-09-08 20:36:02 +02:00
David Rose 05d74624ee Merge branch 'master' of https://github.com/panda3d/panda3d 2016-08-29 16:44:05 -07:00
David Rose fb6637ddac expand PfmFile::merge() to support other than 3 channels, and not to fuss about NaN's in the result 2016-08-29 16:43:13 -07:00
rdb a9345ad633 Fix bug: bam2egg ignores non-GeomNodes directly under Character node
This result in some animated models only properly exporting the skeleton without geometry if the geometry is under non-GeomNodes.
Fixes LP https://bugs.launchpad.net/panda3d/+bug/1617834
2016-08-29 02:09:03 +02:00
fireclawthefox 2da890800f Fix hat mapping if dpad emulation is deactivated 2016-08-11 12:05:07 +02:00
fireclawthefox 719e77a191 Changed button mapping
changed mapping of previous and next (i.e. wiimote's + and - keys) to
the same as the select and start button
2016-08-10 16:46:20 +02:00
fireclawthefox f1444fcff9 Fixed << operator to be usable in .I file 2016-08-10 16:44:09 +02:00
fireclawthefox 3227fe2ebd Fixed and enabled logging for some functions
Added missing include
uncomment logging in find- and get_control as well as find- and
get_button functions
2016-08-10 14:02:37 +02:00
rdb 20353f33eb Fix missed switch cases for 1d texture arrays 2016-08-09 01:47:44 +02:00
fireclawthefox e1661111c2 Exposed AnalogState and ButtonState
Published Analog- and ButtonState to be accessible from python
Added functions to find Controls and buttons to simplify access
Refactored highscore search for setting the device class
2016-08-04 22:52:01 +02:00
fireclawthefox 670efb9e64 Extended device class heuristics
Extended and partly restructured the way how the device class gets set
Added DC_COUNT to the DeviceClass enum to simplify loop checks
2016-08-03 20:20:01 +02:00
rdb 1d2e17932c Don't require spaces around : in #extension directive 2016-07-30 12:59:42 +02:00
fireclawthefox 271997b462 Moved get_devices functions into PUBLISHED section 2016-07-22 21:25:27 +02:00
fireclawthefox ef7cc925c4 Add data graph node for devices
Add the new inputDeviceNode class to be used in the data graph
Add config variable for low batery level
2016-07-21 23:09:09 +02:00
fireclawthefox a6110a606e renamed gamepad to device in inputDeviceManager
renamed as not every device is a gamepad
2016-07-21 12:46:20 +02:00
fireclawthefox dcdbe4b339 Add handling for new gamepad buttons
Added handles to 1, 2, next and previous as available on the wiimote
2016-07-21 12:44:44 +02:00
rdb 47f999fdec Improve GLSL preprocessor; support GL_GOOGLE_include_directive 2016-07-20 16:00:34 +02:00
rdb 2eba4dea9b Change handling of unsupported render mode so that behaviour can be shared among renderers 2016-07-20 15:59:42 +02:00
rdb 82b7728683 Merge remote-tracking branch 'origin/release/1.9.x' 2016-07-20 14:32:34 +02:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb 339eb58007 Fix compile error on some Mac versions 2016-07-20 11:45:14 +02:00
rdb 400bc2cc26 Support .ktx textures, ETC1/ETC2/EAC compression 2016-07-15 11:50:57 +02:00
rdb 8381118a97 Assorted tweaks and compile warning fixes 2016-07-14 12:54:39 +02:00
rdb 106cf2cad0 Fix randomly slanted/crashing TextGraphics 2016-07-12 19:31:23 +02:00
rdb 6f168446d0 Merge branch 'release/1.9.x' 2016-07-12 14:57:48 +02:00
rdb 7b7bf93118 Fix frame chug when loading big model asynchronously (LP #1019599) 2016-07-12 11:27:52 +02:00
rdb f94db0661e Add move semantics to CDLockedReader/CDWriter 2016-07-10 17:22:34 +02:00
rdb 8b67ab31f5 Fix obscure compile error 2016-07-10 16:49:00 +02:00
rdb bfe7a7b1d3 Merge from 1.9, cleanup DX9/shader, fix built-in shadow mapping in DX9 2016-07-10 16:44:09 +02:00
rdb e098da9030 Support uint8 indices in DX9 renderer 2016-07-10 15:48:17 +02:00
rdb c34758ea5c Cg fixes for DX9 2016-07-10 14:31:58 +02:00
rdb fa7730819f Fix assertion when using aux render targets in DX9 2016-07-10 14:05:29 +02:00
rdb f7fde882b8 Fix uninitialised variable 2016-07-10 12:25:35 +02:00
rdb 85386049f0 Merge branch 'release/1.9.x' 2016-07-09 15:39:07 +02:00
rdb 44d59edc30 Fix cube map render and rendering the same camera with two GSGs
The problem was that the cull result was being reused across different lens indices and GSGs
2016-07-09 14:42:25 +02:00
rdb 11861cb73d Backport shadow-depth-bits config var to 1.9 2016-07-09 14:27:33 +02:00
rdb 47d1b4e220 PythonTask: don't crash if repr(owner) errors, deal better with bad owners 2016-07-09 10:02:55 +02:00
rdb fd8dd360b2 Fix compile error statically linking build with DX9 2016-07-09 09:59:51 +02:00
rdb f35a7612e5 Fix interrogate error with PhysX 2016-07-03 09:20:55 +02:00
rdb a906f34eee M_alpha now no longer squares the alpha component it writes to the framebuffer.
To re-enable the old behaviour, set old-alpha-blend in Config.prc.
2016-06-28 22:13:33 +02:00
rdb 1b33fec978 Remove assertion when reregistering the same AudioManager constructor 2016-06-28 21:35:53 +02:00
rdb 54819dbcde Fix crash when using TextGraphic in texts 2016-06-28 19:11:58 +02:00
rdb c7dbf193f1 Fix Linux crash with Xbox One controller, fix compile warnings 2016-06-28 17:49:47 +02:00
rdb 365e1d53ef Merge branch 'release/1.9.x'
Conflicts:
	makepanda/makepandacore.py
	panda/src/cocoadisplay/cocoaGraphicsStateGuardian.mm
2016-06-27 01:18:02 +02:00
rdb 7dfd907e17 Try to report red/green/blue bits for Cocoa windows 2016-06-27 00:38:14 +02:00
Sam Edwards 2933b8ed39 general: Fix missing includes. 2016-06-25 19:10:38 -07:00
rdb fd16e34660 Fix Xbox One controller on Windows, add untested support for flight sticks and steering wheels 2016-06-24 13:32:10 +02:00
rdb 01e57e1bdd Emulate d-pad from hat axes, fixes Xbox One d-pad buttons on Linux 2016-06-24 10:54:57 +02:00
rdb b98d3c06ee Merge branch 'master' into input-overhaul 2016-06-24 10:51:41 +02:00
rdb 9963fe2c3c Fix a couple of compile warnings, reduce unnecessary includes 2016-06-23 22:59:50 +02:00
rdb 7266f5ae68 Fix race condition when multiple threads write to MultiplexStream simultaneously 2016-06-23 22:56:18 +02:00
rdb 9b5ff08011 Fix crash loading null audio manager 2016-06-23 22:27:34 +02:00
rdb 6728e5ecbe Merge remote-tracking branch 'origin/release/1.9.x' 2016-06-23 16:14:18 +02:00
rdb fede8b8d69 Fix compile issue on Mac OS X 2016-06-22 22:24:33 +02:00
rdb 7676104f4c Fix error compiling with pre-C++11 compilers 2016-06-22 19:19:00 +02:00
rdb 7e08b87ff7 IPv6 support, improve URL handling/comparison 2016-06-22 17:57:40 +02:00
rdb bf26cecb32 Fix some compile warnings 2016-06-22 13:44:16 +02:00
rdb 1974b3e692 Fix deadlock waiting for Python task to end at end of program 2016-06-12 12:04:03 +02:00
rdb 89deb71538 Fix regression loading nurbs surface/curve and patches from .egg 2016-06-11 23:24:06 +02:00
rdb 4283a63a7d Merge branch 'release/1.9.x' 2016-06-11 01:29:14 +02:00
rdb 12873c0d7e Fix wxPython and tkinter issues on Mac OS X 2016-06-10 02:02:36 +02:00
rdb 7d6b7f40f5 Merge branch 'release/1.9.x' 2016-06-09 21:52:51 +02:00
rdb 0a731d0545 Improve performance of texture load/store 2016-06-09 21:49:26 +02:00
rdb a1749b2f07 Don't align transform_blend vertex column to 4 byte boundary
Somewhat improves performance of CPU vertex animation
2016-06-09 21:48:57 +02:00
rdb b303962e96 Disable cycle detection in tasks for now, it is way too unstable 2016-06-09 16:48:31 +02:00
rdb e9c76328fb Fix a crash in PythonTask destructor 2016-06-08 13:18:31 +02:00
rdb 5675e0de56 Merge branch 'release/1.9.x' 2016-06-07 22:08:00 +02:00
rdb 2d6e817d1d Fix reading multifiles that were built with -F option 2016-06-07 22:04:34 +02:00
rdb d53b2ca80e Backport various bugfixes from master, among which:
- Fix Windows pbuffer crash on Intel cards
 - Fix crash when using pnmimage.write with unsupported format
 - Fix GLSL diagnostics on Mesa GLES2 compiler
 - Reduce warning severity when resizing immutable storage texture
 - Print more debug info when FrameBufferProperties are insufficient
 - Fix "Bam file contains objects of unknown type: MovingPart<LMatrix4f>"
 - Fix memory leak in BulletTriangleMesh
 - Fix pmerge in Python 3
2016-06-07 14:40:27 +02:00
rdb 8d05ef3022 Assorted fixes 2016-06-03 22:23:42 +02:00
rdb 679bf0a554 Implement tellg() on ZStream, make multify -t work with .pz/.gz compressed multifiles 2016-06-03 16:12:37 +02:00
rdb 5543716660 Interrogate wraps vector<unsigned char> as Python 3 bytes object 2016-06-03 01:47:54 +02:00
rdb b486de2700 Fix rare mutex error at shutdown: "MutexPosixImpl::acquire(): Assertion `result == 0' failed." 2016-05-29 02:03:36 +02:00
rdb 18874fa151 Replace PN_int/uint types with stdint.h types, since all compilers we support have them.
Plus, we already had code that relied on them being available anyway.
2016-05-11 00:27:58 +02:00
rdb ce29ae490d Interrogate improvements, more properties, MAKE_SEQ_PROPERTY 2016-05-11 00:16:53 +02:00
rdb fb78fe6e2a Interrogate enum class support (maps to Python 3.4 enums), sanify wrapper code 2016-05-07 00:45:26 +02:00
wolfgangp cf11d46e26 Replace BulletSoftBodyMaterial camelCase methods 2016-05-06 02:50:53 +02:00
rdb a898911a5c Compile fixes for older OpenEXR versions 2016-05-03 19:19:17 +02:00
wolfgangp 821e625c4f Remove obsolete property heightfield_tex 2016-05-03 14:57:25 +02:00
David Rose 0b224a320a Merge branch 'master' of https://github.com/panda3d/panda3d 2016-05-02 15:05:25 -07:00
David Rose 403dd39934 add support for OpenEXR floating-point image files 2016-05-02 14:44:53 -07:00
rdb 910a50de16 Fix crash when using pnmimage.write with unsupported format, also fix a minor issue in shader.set_filename 2016-05-02 16:43:43 +02:00
rdb d3172015d5 Allow setting custom filename on shader, fix diagnostics for Mesa GLES2 2016-05-01 22:53:20 +02:00
tobspr b2ebd78d81 Support for R16I and R16UI 2016-04-30 12:26:59 +02:00
tobspr dac2bfc7b9 Support for setting a heightfield handle directly on the ShaderTerrainMesh 2016-04-30 09:32:09 +02:00
rdb 288452a861 Changes to help with static build, allow linking OpenAL statically 2016-04-29 19:54:24 +02:00
rdb 369df86096 Fix a compile issue or two 2016-04-29 19:17:47 +02:00
rdb dc09e28ed9 Also accept a .gz wherever a .pz file is accepted 2016-04-29 16:54:25 +02:00
rdb a2ae62dbda Introduce ability to write older .bam versions, down to 6.21
See https://www.panda3d.org/manual/index.php/Dev:Bam_Format
2016-04-29 16:30:41 +02:00
David Rose 063f9bbc4d minor compilation issues 2016-04-28 16:14:44 -07:00
rdb 723c1de520 Fix various emscripten compile issues 2016-04-28 21:15:46 +02:00
rdb 6b83261ea4 Implement stb_image, support loading HDR, PSD, GIF images 2016-04-28 17:10:44 +02:00
rdb 6f8fd916f3 Allow seeking a ZStream back to 0 (but no other location) 2016-04-28 17:03:31 +02:00
rdb 1c6f4c29c4 Add support for native FLAC reading 2016-04-28 12:05:10 +02:00
tobspr 0c16baa707 Reduce warning severity when resizing texture with immutable stirage 2016-04-25 12:03:15 +02:00
rdb ee595ae880 fast path optimizations for get_ram_image_as 2016-04-24 02:42:12 +02:00
rdb 2c6a6c9f06 Display deprecation warning when writing FFT compressed anim chans 2016-04-24 01:44:09 +02:00
rdb 07d06d434c Print more debug info when FrameBufferProperties are not sufficient 2016-04-23 18:06:18 +02:00
rdb 2c1cb4c313 Compile fixes for latest VRPN and TIFF 2016-04-22 17:18:27 +02:00
deflected bffe3bf55a bullet: Plug memory leaks
Signed-off-by: deflected <deflected@github>
2016-04-21 21:34:55 +03:00
rdb ad04a4b026 Fix: Bam file contains objects of unknown type: MovingPart<LMatrix4f>
Restores ability to read old .bam files containing animation data
2016-04-21 11:28:00 +02:00
rdb 6225755230 Support rendering without any vertex arrays bound better 2016-04-21 01:32:13 +02:00
rdb 40acfeffb5 Punish soft framebuffer configs if we're not asking for one 2016-04-21 00:18:08 +02:00
rdb 32bc7cd819 Changes to allow compiling Panda with MSVC 2015 2016-04-19 15:43:02 +02:00
rdb 32b4273c94 bullet: fix issue with result of get_contact() going out of scope 2016-04-18 23:57:02 +02:00
rdb 320f341467 Fix pbuffer crash on Windows with old Intel drivers 2016-04-18 23:26:12 +02:00
rdb 380ff44710 Workaround for older versions of the DirectX SDK 2016-04-17 20:45:24 +02:00
rdb d3071d1e50 Use a bitmask for storing clear-active flags 2016-04-16 14:19:54 +02:00
rdb 2b7ef9c787 Add SphereLight class 2016-04-16 12:30:07 +02:00
rdb f06f184850 Prefer core/ARB version of FBOs instead of EXT version 2016-04-14 21:02:35 +02:00
rdb e4b032ea21 Fix crash reading Camera objects from pre-6.41 bam files 2016-04-12 20:47:11 +02:00
rdb 5a2a9a3020 Merge branch 'release/1.9.x' 2016-04-12 20:46:32 +02:00
rdb 82fdb30957 Fix incorrect format selection for renderbuffers (missing alpha channel) 2016-04-12 20:44:07 +02:00
rdb 873fd3294a Work around bug in certain Intel drivers with #pragma include 2016-04-12 18:20:27 +02:00
wolfgangp 4821b69ec1 Match ShaderTerrainMesh triangulation scheme with Bullet's 2016-04-11 22:01:13 +02:00
rdb 7addf3e12b Merge pull request #80 from tobspr/master
Add new terrain implementation (ShaderTerrainMesh)
2016-04-11 18:35:11 +02:00
tobspr 5f28d20402 Change uniform warning in glShaderContext to avoid spam
This changes the severity of the uniform warning to debug, to avoid spamming the console
2016-04-10 10:59:30 +02:00
rdb 33ed30b178 Support defining bam factory functions in Python 2016-04-09 19:28:33 +02:00
rdb 7e04042ca4 Update gl2ext.h 2016-04-09 19:18:34 +02:00
rdb 64cb1c520e Fix ColorBlendAttrib bam write, add properties to most *Attrib 2016-04-09 19:10:52 +02:00
rdb f0cd1ce315 ColorBlendAttrib: support separate alpha mode and dual-src blend. bam 6.42 2016-04-08 15:44:57 +02:00
rdb e73a89705b Improve OpenGL ES support, add OpenGL ES 3 support 2016-04-04 17:00:27 +02:00
rdb 6ddfb0ace3 Support line/point thickness in bam2egg 2016-04-04 12:48:48 +02:00
rdb 15b0ba45f9 Fix broken pickling in Python 3 build 2016-03-31 16:49:27 +02:00
rdb a3a42874f3 Merge remote-tracking branch 'origin/master' into input-overhaul 2016-03-29 12:28:53 +02:00
rdb 245d1241c9 Restore assign() for vector classes 2016-03-28 22:36:31 +02:00
rdb 82ab126ea7 Add support for glLogicOp via LogicOpAttrib / NodePath::set_logic_op 2016-03-25 17:33:30 +01:00
rdb ba4c38112c Merge remote-tracking branch 'origin/release/1.9.x' 2016-03-25 17:22:00 +01:00
rdb 2b034506fa Backport fixes for Arch compile issues to 1.9 2016-03-25 01:40:00 +01:00
rdb a9c5525dd6 Compile fix for Ubuntu precise version of ffmpeg 2016-03-25 00:45:12 +01:00
rdb ce947adf8f Replace uses of "delete" with "delete[]" where appropriate 2016-03-24 23:56:12 +01:00
rdb 63dd1e0d2b Fixes for ffmpeg 3.0 2016-03-24 22:24:16 +01:00
rdb 2abad9649b Remove X11-specific stuff from egldisplay, instead using x11display as common base 2016-03-19 18:46:10 +01:00
rdb 1cc79633c1 Merge branch 'master' into input-overhaul
Conflicts:
	panda/src/device/buttonNode.cxx
	panda/src/device/clientAnalogDevice.I
	panda/src/device/clientAnalogDevice.cxx
	panda/src/device/clientButtonDevice.I
	panda/src/device/clientButtonDevice.cxx
	panda/src/device/clientDevice.I
	panda/src/device/clientDevice.cxx
	panda/src/device/clientDevice.h
	panda/src/device/clientTrackerDevice.I
	panda/src/device/trackerNode.I
	panda/src/device/trackerNode.h
	panda/src/display/callbackGraphicsWindow.cxx
	panda/src/display/graphicsWindow.cxx
	panda/src/display/graphicsWindowInputDevice.I
	panda/src/display/graphicsWindowInputDevice.cxx
	panda/src/display/graphicsWindowInputDevice.h
	panda/src/tinydisplay/tinyOsxGraphicsWindow.mm
	panda/src/tinydisplay/tinyXGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.cxx
	panda/src/windisplay/winGraphicsWindow.h
	panda/src/x11display/x11GraphicsWindow.cxx
2016-03-19 14:54:56 +01:00
rdb bd1df2b9ad Merge remote-tracking branch 'origin/release/1.9.x'
Conflicts:
	panda/src/pipeline/pipeline.cxx
2016-03-18 16:47:17 +01:00
tobspr 3e2b8407c8 Add more properties to the Texture class 2016-03-18 16:41:16 +01:00
rdb cccd29cc61 Fix use of uninitialized variable pointed out by valgrind 2016-03-17 21:39:42 +01:00
rdb f68bfab7a9 Add light.shadow_caster and light.shadow_buffer_size 2016-03-17 15:26:12 +01:00
rdb 4ace5b5bc9 Fix compilation issues 2016-03-16 14:04:15 +01:00
wolfgangp 01932c9e79 Squashed commit of the following: (closes #85)
commit cff663ad0e23ed73057201fc0c71f12de82be201
Author: wolfgangp <wolfgangpratl@gmail.com>
Date:   Thu Mar 10 10:48:39 2016 +0100

    Make get_normal_world_on_b return a vector.

commit 6fe5f5a24d615dc05b532c07486e23123e4cc9f2
Author: wolfgangp <wolfgangpratl@gmail.com>
Date:   Thu Mar 3 00:30:01 2016 +0100

    Remove comments.

commit f94f0ebd1acde2c3c32ffdaadd24deb4d16d1a84
Author: wolfgangp <wolfgangpratl@gmail.com>
Date:   Wed Mar 2 23:53:05 2016 +0100

    Revert header author change.

commit d50c41b830034e2dc015298cd4596b6292d582ac
Author: wolfgangp <wolfgangpratl@gmail.com>
Date:   Wed Mar 2 23:38:45 2016 +0100

    Fix indentation and spaces.

commit 792eab5fe1ca77564a36d7ab43b8996e03432dbd
Author: wolfgangp <wolfgangpratl@gmail.com>
Date:   Wed Mar 2 20:11:43 2016 +0100

    Revert changed date.

commit 99f78d4a90d43cf3cc5e5168c319020b307cdbd0
Author: wolfgangp <wolfgangpratl@gmail.com>
Date:   Wed Mar 2 19:01:39 2016 +0100

    Fix bulletHeightfieldShape to support non-square images. Add alternative constructor taking a Texture input, intended for use with ShaderTerrainMesh.
2016-03-16 10:43:13 +01:00
rdb 2ee977dd3e Fix PhysX compile error 2016-03-16 10:32:47 +01:00
Sam Edwards 6b8f78c9e0 general: Fix missing includes. 2016-03-15 18:30:24 -07:00
Sam Edwards f0bed9ab1c pnmtext: Remove unused local. 2016-03-15 18:30:24 -07:00
rdb 5cfe2b89e7 Support getting FBO attachment with only 8 red bits 2016-03-12 21:05:16 +01:00
rdb 46562b700d Support FBOs without any attachments 2016-03-12 20:42:27 +01:00
tobspr 37aaa49529 Change message emitted by nvidia driver workaround to info 2016-03-03 13:56:07 +01:00
rdb 2bf886fc5b Add premultiplied alpha mode, for convenience 2016-03-02 17:55:34 +01:00
rdb 2971915618 Bam 6.41: lenses and light changes, add max_distance 2016-03-02 17:54:49 +01:00
rdb 711c97ad6d A few glgsg fixes from tobspr 2016-03-02 16:24:38 +01:00
rdb d50a326ca7 Fix silly multiple uncompress&recompress when generating mips for compressed texture 2016-02-29 19:49:48 +01:00
rdb f933eb4e96 Fix compile warnings (incl. "Attempt to define invalid type" spam), define _Dtool_CheckErrorOccurred in release builds for binary compat 2016-02-27 16:45:22 +01:00
rdb 9f0cd81803 Make OpenGL performance warnings "info", not "warning" category 2016-02-27 12:03:29 +01:00
tobspr d9ec4d402a Add print-pipe-types prc variable to prevent pipe output 2016-02-23 18:46:34 +01:00
David Rose f30628bde6 Merge branch 'master' of https://github.com/panda3d/panda3d 2016-02-22 16:02:52 -08:00
David Rose 2ad07ac1fb fix PfmFile::xform() for files with other than 3 channels 2016-02-22 16:02:38 -08:00
rdb 656ccfcafb Merge branch 'release/1.9.x' 2016-02-22 19:48:21 +01:00
rdb 844a284925 Fix mipmap level count calculation for texture arrays 2016-02-22 19:47:08 +01:00
tobspr 1795a7c8dd Work arround timestamp precision in ramdisks
This fixes the timestamp precision when mounting RamDisks, by ensuring that the modified timestamp is always greater than the original timestamp.
2016-02-20 19:55:49 +01:00
tobspr aa4a73af7d Support for imageCubeArray, remove _EXT suffix
This PR adds support for the imageCubeArray GLSL type (GL_IMAGE_CUBE_MAP_ARRAY).
Also, the _EXT suffix is removed from the GL_IMAGE types.
2016-02-20 19:11:23 +01:00
tobspr 84f5baaf2c Add ShaderTerrainMesh sample 2016-02-20 14:05:50 +01:00
David Rose 0385da0f44 add PfmFile::indirect_1d_lookup() 2016-02-19 18:11:57 -08:00
tobspr da29c7eea4 Add new terrain implementation (ShaderTerrainMesh) 2016-02-18 20:51:14 +01:00
tobspr 1c9985d2f7 Add bilinear filtering to TexturePeeker 2016-02-18 20:46:45 +01:00
tobspr 862f0e4db2 Add more formats to TexturePeeker, emit error if format is not supported 2016-02-18 18:39:18 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 186f1b41b2 Fix for PDWORD_PTR 2016-02-16 11:24:42 +01:00
tobspr 1f32c1dff0 Fix typo in glGraphicsStateGuardian 2016-02-13 16:36:07 +01:00
rdb 6689e69822 Merge branch 'master' into input-overhaul 2016-02-13 11:21:20 +01:00
rdb 591ce04ab1 Work around black text issue in OpenGL ES 2 renderer 2016-02-11 19:12:52 +01:00
tobspr 8dfef99915 Fix swizzle masks on vector types 2016-02-07 19:45:01 +01:00
rdb 40739c6b5f Fix link issues and crashes with Android build 2016-02-06 11:46:56 +01:00
rdb 30fc995a2d Fix OpenGL ES luminance formats (which aren't deprecated in GLES) 2016-02-03 14:07:59 +01:00
rdb 98a86bf43a Merge branch 'release/1.9.x' 2016-02-03 13:39:14 +01:00
rdb ef623aa0e2 pview should use clamp wrap mode when loading image as model 2016-02-03 13:37:23 +01:00
rdb 623d81db6b Support various kinds of BMP headers (incl reading bmp with alpha) 2016-02-03 13:36:38 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
rdb ffac45ce2b Fix OpenGL ES compilation 2016-01-28 13:54:54 +01:00
rdb 17ad8f254d Support BC4/BC5 compression, more texture formats, DX10 DDS files, rgba16/32 DDS files 2016-01-28 13:16:53 +01:00
rdb c855049f24 Fix glstuff compilation error 2016-01-27 17:14:32 +01:00
rdb 0a366e987f Merge branch 'release/1.9.x'
Conflicts:
	panda/src/glstuff/glGraphicsStateGuardian_src.cxx
	panda/src/putil/bamReader.h
2016-01-26 11:45:04 +01:00
rdb 375baaaabd Fix constant reloading of texture when using gl-ignore-mipmaps 2016-01-26 11:39:50 +01:00
rdb d574dd4b0b Fix texture format selection in FrameBufferProperties 2016-01-26 11:39:19 +01:00
rdb ea368dd559 Bam reader robustness; allow threaded bam reading from Python 2016-01-26 11:35:04 +01:00
rdb 47de3542f6 Apply tobspr's texture memory calculation fixes to 1.9 branch 2016-01-26 11:15:22 +01:00
tobspr 8d6ad30c07 Fix reported memory usage when using immutable texture storage storage 2016-01-20 19:33:16 +01:00
tobspr 570d630316 Use r11_g11_b10 in the FrameBufferProperties 2016-01-20 18:55:25 +01:00
rdb bb85b261f8 Expose more properties to Python
Rename "from" to "from_solid" to avoid clashing with Python keyword
2016-01-13 21:29:34 +01:00
rdb 6eb460c359 Add ability to cache compiled GLSL shaders, remove unused ShaderUtilization 2016-01-13 19:58:11 +01:00
David Rose bc58335214 Merge branch 'master' of https://github.com/panda3d/panda3d 2016-01-11 13:27:24 -08:00
David Rose ea07322b1d PNMImage::indirect_1d_lookup() 2016-01-11 13:27:18 -08:00
David Rose 059c929b79 store_mask() with a range limit 2016-01-11 13:27:02 -08:00
rdb ebbdb6fac5 Fix bug reading roughness from .bam material 2016-01-11 19:18:53 +01:00
rdb becd0aa416 Return diffuse color for get_base_color if neither base color nor metallic have been specified 2016-01-11 18:23:52 +01:00
rdb 41fad59ae8 bam 6.40: support writing NodePaths, allows instanced lights and clip planes 2016-01-11 15:04:06 +01:00
rdb 9b4ce5ec0a Fix crash when culling compute nodes in state-sorted bin 2016-01-10 21:04:53 +01:00
rdb 22fb9dec65 Add baser/baseg/baseb/basea and ior scalars to egg <Material> 2016-01-09 17:15:41 +01:00
rdb 3393454582 Metalness workflow PBR stuff, support light color temperatures, make light specular color tied to light color by default 2016-01-09 16:08:33 +01:00
tobspr 817a002ac6 Fix texture::estimate_texture_memory 2016-01-04 18:30:44 +01:00
tobspr a9e18f9d24 Improve Vector implementations: - Remove unecessary assignment operators - Add normalize() method - Use properties for certain swizzle masks - Add constexpr where appropriate 2016-01-03 22:02:00 +01:00
rdb 9e38ba9f9c Clean up CollisionBox interface a bit; add properties to collide classes 2016-01-03 20:24:45 +01:00
rdb aa3f3ab51b Merge remote-tracking branch 'origin/release/1.9.x'
Conflicts:
	panda/src/glstuff/glShaderContext_src.cxx
2016-01-03 20:11:04 +01:00
rdb 8564dbedce Backport workaround for NVidia 361.43 driver bug to 1.9 2016-01-03 20:09:24 +01:00
Dennis Brakhane 9cb6903690 workaround for NVidia 361.43 driver bug
This driver returns internal/synthetic uniform shaders when
asked for the list of active uniforms. They all start with
"_main_" and have names like "_main_0_gp5fp[0]". We need to
ignore these, otherwise, Panda will later crash with failed
assertions when trying to set this unknown uniform.
2016-01-03 16:44:25 +01:00
rdb 6a2e1a438c Clamp shininess to 0 to avoid a GL error when negative shininess was entered 2016-01-02 21:48:25 +01:00
rdb 1d098b0099 Add roughness and metallic to p3d_Material struct 2016-01-01 11:36:09 +01:00
rdb f4f7df9949 Add signed-distance-field text rendering to DynamicTextFont and egg-mkfont 2015-12-31 22:00:37 +01:00
rdb 0ba3bd659e Add normal/depth information to box-box test to make it work with the pusher 2015-12-31 21:08:11 +01:00
rdb b1dcd9be46 Merge remote-tracking branch 'origin/release/1.9.x' 2015-12-31 21:03:38 +01:00
rdb 8eab20a6c1 gl-texture-max-lod false should not inhibit the setting of GL_TEXTURE_MAX_LEVEL 2015-12-31 20:43:30 +01:00
rdb 6035a9613d Fix issues in box-sphere interaction 2015-12-31 20:39:20 +01:00
rdb 86a898b40a Tack on combining diacritics for static fonts if font doesn't specify modified letters 2015-12-31 12:48:02 +01:00
rdb bccddaf4e8 TextNode properties, fix setters that return error bool 2015-12-29 18:46:37 +01:00
rdb ffabf6925c Add roughness and metallic material parameters for PBR 2015-12-27 23:44:35 +01:00
rdb 9e14c16e1a Collect supported shader binary formats 2015-12-26 20:07:28 +01:00
rdb dafe48a6bc Begin to add snake_case/property interfaces to important direct classes 2015-12-26 17:00:51 +01:00
rdb 46fe58a87a Merge remote-tracking branch 'origin/release/1.9.x'
Conflicts:
	panda/src/gobj/geomVertexData.cxx
2015-12-26 15:22:32 +01:00
rdb 86faaae9f8 Add variant of transform_vertices that accepts a SparseArray 2015-12-26 13:54:53 +01:00
rdb 62cdb5cac5 Remove temp-hpr-fix 2015-12-26 13:26:10 +01:00
rdb f12e2b5f68 Merge branch 'release/1.9.x' 2015-12-25 17:02:56 +01:00
tobspr 7d9b5d61f9 Fix crash when unpacking aligned textures 2015-12-25 17:02:34 +01:00
rdb 2f7c8e8e97 Fix typo in error message 2015-12-25 17:00:40 +01:00
rdb ee7b03f374 Merge remote-tracking branch 'origin/master' into input-overhaul 2015-12-25 13:27:40 +01:00
rdb bad0a7321a Change by liuzhengcai to fix compile error on 32-bit MSVC 2010 2015-12-24 17:03:40 +01:00
rdb 5406fab702 Merge branch 'release/1.9.x' 2015-12-24 16:18:22 +01:00
rdb e4857a58bb Add many more Python properties 2015-12-24 16:17:34 +01:00
rdb 86eef29974 Error instead of crash if no spawn templates are present (with thanks to tobspr) 2015-12-24 16:11:16 +01:00
rdb db6f0342cc Add properties with has/clear (interrogatedb v3.1) 2015-12-24 14:25:45 +01:00
rdb 07d2b64d74 Restore missing function from GLGSG 2015-12-23 23:15:09 +01:00
rdb a0f5465ad4 Add ShaderAttrib::make(shader, priority) 2015-12-22 20:25:41 +01:00
rdb 08c29313b2 Reduce redundant state changes, add gl-fixed-vertex-attrib-locations 2015-12-22 20:22:24 +01:00
rdb 927a5bd48b More efficiently manage which vertex arrays are enabled/disabled 2015-12-21 21:23:20 +01:00
rdb 88e5cdfd86 More efficient clears for FBO 2015-12-21 17:59:48 +01:00
rdb dc0f40cadd Use multibind when binding textures and samplers to a shader 2015-12-21 17:59:28 +01:00
rdb c093fc0fa4 Eliminate unnecessary glHint and glPointParametefv calls 2015-12-21 17:58:30 +01:00
rdb 5f59f54475 set_render_mode_thickness/perspective no longer overwrites wireframe color 2015-12-19 23:44:23 +01:00
rdb 44f9b22323 Gamepad vibration on Windows 2015-12-19 21:04:49 +01:00
rdb bfea37f64d Detect keyboard devices on Linux 2015-12-19 20:09:07 +01:00
rdb 687e080bdd Add gamepad rumble support on Linux 2015-12-19 19:40:24 +01:00
rdb ab66108661 Robustify Linux gamepad support 2015-12-19 16:03:28 +01:00
rdb 56194acf87 Fix clock-mode Config.prc setting 2015-12-19 15:34:34 +01:00
rdb 70370999c9 Map XInput thumbsticks exactly to -1..1 range 2015-12-18 16:13:50 +01:00
rdb 307665891d Fix compile error on Linux in hotplug code 2015-12-17 01:45:23 +01:00
rdb 834cc57deb More properties for classes 2015-12-16 21:41:55 +01:00
rdb 1fe33efda6 Merge branch 'release/1.9.x'
Conflicts:
	panda/src/glstuff/glGraphicsStateGuardian_src.cxx
2015-12-16 21:10:52 +01:00
rdb 5b1cfd115c Backport some GL tweaks to 1.9, particularly gl-support-texture-lod 2015-12-16 21:07:07 +01:00
tobspr 81691e3103 Fix crash on invalid tangent in rope node, fix invalid tangents for certain up vectors 2015-12-16 20:52:56 +01:00
rdb d20d616918 XInput gamepad hotplugging, add base.devices.gamepads 2015-12-16 18:30:26 +01:00
rdb 49d69a6b36 OpenGL debug tweaks, allow disabling texture LOD functionality 2015-12-15 12:45:50 +01:00
mfwass f8837999ed Cleanup trailing whitespace 2015-12-13 10:08:41 -05:00
rdb dd8344455c XInput gamepad control states, battery information, HID properties 2015-12-12 22:07:43 +01:00
rdb 35add447e6 Build on Windows; add XInput gamepad implementation 2015-12-12 00:57:01 +01:00
rdb 58ddd77d5e Support gamepads (and other devices) via evdev interface, query axis+button availability 2015-12-11 19:32:45 +01:00
rdb bd0683d101 Generalised input framework for raw mice, gamepads, trackers (incl. HMDs like Oculus Rift) 2015-12-11 15:26:40 +01:00
rdb 6480e82e3b First pass adding properties to many Panda classes 2015-12-10 16:23:06 +01:00
rdb 735bdaf924 Merge branch 'release/1.9.x'
Conflicts:
	panda/src/glstuff/glGraphicsStateGuardian_src.h
2015-12-10 13:58:24 +01:00
rdb c0f48900e0 More OpenGL compatibility for versions older than 2.0 2015-12-10 13:52:40 +01:00
rdb 6cb93f588b Merge branch 'release/1.9.x'
Conflicts:
	dtool/PandaVersion.pp
2015-12-09 22:57:48 +01:00
tobspr 8e772366b1 Fix unitialized memory in nurbsVertex, prevent division by zero in NurbsCurveEvaluator 2015-12-09 22:53:27 +01:00
rdb c2b44b57c9 Fix crash on very, very, old OpenGL versions 2015-12-09 22:46:25 +01:00
rdb efe8ec60ee Fix luminance formats in core-profile-only OpenGL contexts 2015-12-08 19:00:33 +01:00
rdb 66861f137f Fix Windows compile error: MSVC doesn't like variables named "near" and "far" 2015-12-08 18:55:27 +01:00
rdb 25451feb87 Improve shadow system, add point light shadows, GLSL shadow inputs 2015-12-07 21:12:07 +01:00
rdb 50d2e8324e Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	direct/src/directtools/DirectLights.py
	panda/src/nativenet/buffered_datagramconnection.h
2015-12-06 22:32:12 +01:00
rdb 287c44ce53 Various fixes for Python 3 versions before Python 3.3 2015-12-06 22:05:44 +01:00
rdb 1891f56224 Improve box-into-plane and box-into-poly collisions, add interior/surface points 2015-12-06 13:11:38 +01:00
rdb c97778eeb6 Add box-into-polygon collision test 2015-12-05 16:22:18 +01:00
rdb fe9e752229 Implement box-into-box collision test, and fix a scaling issue with box-into-plane 2015-12-05 13:14:27 +01:00
rdb f7b61d4fa4 Add box-into-plane collision test 2015-12-04 00:03:11 +01:00
Sam Edwards d4eccee359 Merge pull request #64 from xHarv14/master
openal: Grab volume from manager instead of assuming max volume.
2015-12-02 18:27:33 -08:00
tobspr 0ec8f1d758 Make instance count override properly 2015-11-30 21:24:17 +01:00
rdb cb41ff2791 Fix updating of light position input in Cg 2015-11-29 14:28:59 +01:00
Harvir 7fb30ae070 openal: Grab volume from manager instead of assuming max volume. 2015-11-29 01:33:03 +00:00
rdb 75caef56aa Fix another snprintf issue on MSVC 2010 2015-11-28 18:51:47 +01:00
rdb 061e315e01 Fix error due to missing snprintf in MSVC 2010 2015-11-28 18:39:56 +01:00
tobspr 3cf2b5496b Add clear_tag_states() to camera 2015-11-28 17:55:07 +01:00
rdb 1b857d6bda A few interrogate improvements 2015-11-28 17:54:01 +01:00
rdb eca343c712 Add not-completely-useless output() method to ShaderAttrib 2015-11-28 17:53:35 +01:00
rdb 1628238222 Fix circular reference in shader context preventing shader states from being cleared 2015-11-28 17:52:03 +01:00
rdb bdf91e206d Remove references to Python.h and py_config.h from Panda headers, to prevent picking up a dependency on Python libraries in third-party modules 2015-11-28 16:33:44 +01:00
rdb e5fac610c8 Remove unnecessary HAVE_EGL setting in dtool_config.h 2015-11-28 16:23:18 +01:00
rdb 84c0fbd1b1 Remove deprecated empty-node-path behavior 2015-11-28 16:22:22 +01:00
rdb 48808fe269 Add get_supports_hlsl check, fix shader generator for DirectX 9 2015-11-26 01:05:26 +01:00
rdb fb317e3b7a Implement depth textures and shadow mapping in DirectX 9 renderer
(at long last)
2015-11-26 01:04:26 +01:00
rdb a819e9055b Merge branch 'release/1.9.x' 2015-11-25 23:42:36 +01:00
rdb 2abe2df1b4 Add dummy return values to keep MSVC happy 2015-11-25 02:53:56 +01:00
rdb f6b66fc5db Fix PhysX compile issues on Mac 2015-11-25 02:01:07 +01:00
rdb 3bacd69caf Fix GeomTextGlyph warning when compiling without freetype 2015-11-24 13:39:42 +01:00
rdb 3c2f820ad8 Merge branch 'release/1.9.x'
Conflicts:
	direct/src/p3d/DeploymentTools.py
2015-11-24 13:39:36 +01:00
rdb a98d50cd61 Fix for older OpenAL versions 2015-11-23 16:33:16 +01:00
rdb f84b9e1f63 More reliable OpenAL device selection mechanism, add fallbacks, prefer "OpenAL Soft" over "Generic Software" 2015-11-23 16:17:44 +01:00
rdb 31a2d96450 Merge remote-tracking branch 'eswartz/pr_openal_device_selection' into release/1.9.x
Closes: #48
2015-11-22 20:11:06 +01:00
rdb 573af61636 Merge remote-tracking branch 'eswartz/support-mouse-confinement-cocoa' into release/1.9.x
Closes: #20
2015-11-21 17:43:07 +01:00
rdb de65c02ef2 Implement improvement upon eswartz' fix to properly handle programmatic window size changes on Mac OS X
Closes: #39
2015-11-21 17:34:37 +01:00
rdb 4d2cf29816 Add libRocket to PandaSystem 2015-11-21 16:55:06 +01:00
rdb 428f4ce050 Fix faulty assertion in BulletTranslationalLimitMotor (with thanks to ThomasEgi) 2015-11-21 12:55:49 +01:00
rdb c80fd20208 Fix crash if Cg is supported but GLSL is not 2015-11-21 03:17:58 +01:00
rdb fb0902512e Use DynamicTextGlyph for spaces (fixes glyph.is_whitespace()) 2015-11-19 13:00:29 +01:00
Sam Edwards f56dfb6196 general: Fix missing includes on Windows. 2015-11-15 22:54:26 -08:00
Sam Edwards 89d63e7d84 general: Fix missing include needed on Windows. 2015-11-15 18:52:23 -08:00
rdb 51121ce17a Merge branch 'release/1.9.x' 2015-11-15 12:46:08 +01:00
rdb 6fb08f124c Add (limited) modification timestamp tracking to Ramdisk 2015-11-15 12:45:42 +01:00
Sam Edwards 90d3347fd1 text: Fix missing includes. 2015-11-14 15:08:42 -08:00
rdb 1d2ba26e26 Merge branch 'release/1.9.x' 2015-11-13 19:26:57 +01:00
rdb 815cbc1acb Remove accidentally checked in debug message 2015-11-13 15:05:06 +01:00
rdb a453ec1925 Overhaul text generation; now 75x as fast as before. 2015-11-13 01:44:03 +01:00
rdb 0fffcdfc6b Big perf improvement flattening and munging vertex colors 2015-11-12 23:28:58 +01:00
rdb c9921271d6 Fix recursion in inline function in LFrustum 2015-11-12 02:59:15 +01:00
Sam Edwards 5ebb6c511f general: Fix missing includes. 2015-11-11 12:35:04 -08:00
rdb eecb1fb3f2 Cache text states 2015-11-11 17:43:30 +01:00
rdb a573a11d90 Improve debug information when compiling GLSL shaders 2015-11-11 17:08:27 +01:00
rdb 8822ac0b05 Support DSA version of mipmap generation 2015-11-11 17:08:09 +01:00
rdb f9add18798 Fix another GL crash at shutdown 2015-11-11 17:06:32 +01:00
rdb 90f05d7284 Add snorm texture formats 2015-11-10 18:00:18 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb 6ccd64d99e Fix ordering of methods relative to MAKE_SEQ 2015-11-09 18:13:29 +01:00
rdb ac1c036cac interrogatedb 3.0 to restructure make_seq, improve make_seq handling and performance 2015-11-09 18:03:30 +01:00
rdb 4a5d64909a Merge branch 'release/1.9.x'
Conflicts:
	direct/src/showbase/ShowBase.py
2015-11-09 02:29:41 +01:00
rdb 11437c5afd Fix bug when the same Cg shader is compiled for two different GSGs 2015-11-09 00:54:09 +01:00
tobspr 027a561843 Fix color write mask in OpenGL 2015-11-08 11:58:06 +01:00
rdb 0f2f27689a Convert from DOS back to Unix newlines 2015-11-08 02:12:43 +01:00
rdb 68f762aa20 Fix leak of prepared contexts, prevent deleting GL resources in wrong context in multi-GSG applications 2015-11-08 00:01:45 +01:00
rdb 026ec613f5 Merge remote-tracking branch 'origin/release/1.9.x' 2015-11-07 23:57:11 +01:00
rdb 6a263746cd Fix Cg crash at shutdown when multithreaded pipeline is active 2015-11-07 21:55:51 +01:00
rdb 47fdb9b748 Correct position of viewing axis for off-axis lens frustum (with thanks to tobspr) 2015-11-07 16:42:06 +01:00
rdb e6391c0b87 Merge branch 'release/1.9.x'
Conflicts:
	makepanda/installpanda.py
	makepanda/makepandacore.py
2015-11-05 20:55:01 +01:00
rdb 042dc82416 Handle DPI change on Windows 8.1+, add dpi-window-resize config option 2015-11-05 20:43:33 +01:00
rdb 1adb0e48f4 Merge branch 'release/1.9.x' 2015-11-03 20:30:33 +01:00
rdb bd354a9cde Fix crash on shutdown of buffer in threaded pipeline 2015-11-02 16:41:17 +01:00
rdb 8c259d4a20 Merge branch 'release/1.9.x' 2015-11-01 20:12:32 +01:00
rdb d8fedc1bc0 Call SetProcessDPIAware() to fix issues caused by DPI virtualization in Windows 8.1 2015-11-01 20:01:39 +01:00
rdb 368390536b Fix bug preventing switching from Z_top to Z_normal on Windows
(Reported by Epihaius)
2015-11-01 19:07:33 +01:00
rdb da17cce447 Fix error and warnings in 32-bit Windows build 2015-11-01 16:57:52 +01:00
rdb b0d8b9109e Check in change that might help fix a WeakKeyHashMap assert 2015-11-01 15:59:38 +01:00
rdb 0ae2df7e02 Merge branch 'release/1.9.x' 2015-11-01 15:54:58 +01:00
rdb 63a9b5dfec Re-expose MouseWatcherGroup; clearer error message for make_seq when getter is not exposed 2015-11-01 15:45:52 +01:00
rdb d3494edf2c Address some rare crashes at shutdown 2015-10-31 04:11:12 +01:00
rdb bfe42fa8e9 Fix updating of light position uniform in GLSL (thanks to deflected for tracking this down) 2015-10-28 20:24:42 +01:00
rdb 06475c70b9 Merge branch 'release/1.9.x' 2015-10-28 16:56:44 +01:00
rdb fe633b51a1 Remove unnecessary cg.h include 2015-10-28 15:55:59 +01:00
rdb bac5401a9d Add GL function pointers for indirect draw 2015-10-28 13:18:12 +01:00
rdb be652bb112 Merge branch 'release/1.9.x', change default value of geomipterrain-incorrect-normals to false 2015-10-23 16:20:17 +02:00
rdb da1d5755f9 Add config var to toggle between incorrect/correct normal generation for GeoMipTerrain 2015-10-23 16:18:59 +02:00
rdb aca077916d Add flag enabling vertex shader control over point size 2015-10-17 12:11:11 +02:00
rdb ebd1fd8462 Fix interrogate warnings on Windows. Show warnings when running makepanda in verbose mode. 2015-10-17 03:27:38 +02:00
rdb ddf8343590 Reorganise explicit template instantiations so that it always happens in the .cxx file, while remaining backward compatible with MSVC's standards-breaking implementation 2015-10-16 15:38:28 +02:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
David Rose 439ee70845 Merge branch 'master' of https://github.com/panda3d/panda3d 2015-10-07 16:55:06 -07:00
David Rose f1fd64534b egg-precision 2015-10-07 16:54:48 -07:00
David Rose caf3a9f24c PfmFile::apply_1d_lut() 2015-10-07 16:52:11 -07:00
rdb 7f7f85794d Fix various compilation and linker issues across several platforms 2015-10-07 21:09:35 +02:00
rdb a5f340c587 Fix errors in OpenGL renderer due to type size mismatches 2015-10-07 19:29:39 +02:00
rdb 18ad6d1543 Replace many int params with size_t params where appropriate, and work towards fixing type conversion warnings 2015-10-07 18:58:26 +02:00
rdb bae5c195af Merge branch 'release/1.9.x'
Conflicts:
	dtool/src/dtoolbase/dtoolbase.h
2015-10-07 15:54:02 +02:00
rdb 706f6f7de5 Squelch some of the type conversion warnings in MSVC 2015-10-06 17:05:40 +02:00
rdb ca37b6b6c0 Fix VC2015 compile errors, allow selecting any WinSDK/MSVC version. All experimental, still. 2015-10-05 02:12:46 +02:00
rdb aebce2e74c Merge branch 'release/1.9.x' 2015-10-05 01:23:31 +02:00
rdb 9bb968cc8b Remove unused methods 2015-10-04 12:56:45 +02:00
rdb 532bee3b9e More fixes to Python 3 rtdist, frozen p3dpython building, new open 2015-09-23 11:57:55 +02:00
rdb 49088fb7ce Fix some issues with new VFS open() implementation 2015-09-21 17:46:50 +02:00
rdb 62217c652e Fix various link issues on Windows when building rtdist 2015-09-20 01:37:49 +02:00
rdb 445c3461d6 Python 3 support to rtdist, reimplement VFS open() on top of io.IOBase, allow freezing into .c target, make VFSImporter and friends frozen into p3dpython 2015-09-18 21:20:25 +02:00
enn0x b996af18dd Merge branch 'master' of https://github.com/panda3d/panda3d 2015-09-14 00:50:56 +02:00
rdb c9434c5b85 Fix shadowed light copy constructor, fix point light lens orientations 2015-09-10 15:30:24 +02:00
rdb 57e5c8fb25 Wrap TypeHandle and ButtonHandle as ints in C wrappers 2015-09-10 15:29:31 +02:00
rdb e1c0ae7f1b Add F_hardware_skinning/p3d_TransformTable to GLSL on 1.9 branch, as requested
Uses a hack to prevent breaking ABI compat
2015-09-05 15:28:57 +02:00
rdb 03a1399378 Remove accidentally checked in debug message 2015-09-05 13:12:48 +02:00
enn0x 1a0fb8f012 Panda Nodes returned by raycast or sweep querries are no longer 'const' 2015-09-05 00:54:20 +02:00
rdb 3ece15bba0 Implement texture clears for buffer textures 2015-08-23 17:13:12 +02:00
rdb cbb3969017 Merge remote-tracking branch 'origin/release/1.9.x' 2015-08-23 17:03:55 +02:00
rdb d8f655479a Remove references to SourceForge CVS repository 2015-08-23 14:12:59 +02:00
rdb 902bce01e9 Fix various window sizing issues on X11 2015-08-22 19:16:21 +02:00
rdb 0c4c8484ba Merge remote-tracking branch 'origin/release/1.9.x' 2015-08-20 21:28:25 +02:00
rdb 82f7813927 Fix assertion when resizing tinydisplay window to fullscreen on X11 2015-08-20 21:12:28 +02:00
rdb a359ef8a0b Clamp colors to 0-1 range in tinydisplay 2015-08-20 21:04:32 +02:00
rdb 7fa0d3c60a Fix bug #1457688: libRocket elements show solid white in tinydisplay 2015-08-20 18:58:13 +02:00
tobspr 9868d87196 Add Texture::F_r11_g11_b10 2015-08-16 14:10:59 +02:00
rdb d569e2ab6f Merge branch 'release/1.9.x' 2015-08-16 13:55:42 +02:00
tobspr 2ea3e3f65a Fix occasional crash when connecting to pstats 2015-08-16 13:54:54 +02:00
tobspr 1c1efa7f17 Fix Texture:estimate_texture_memory() 2015-08-16 13:54:09 +02:00
Ed Swartz 9fdc2d82d1 Send libRocket key events before mouse events
On Linux (at least), a key event is accompanied with a mouse position
event.  If a libRocket UI is listening to e.g. "mouseover" events,
then any keypress will first appear to be a mouse movement, tripping
up code that tries to handle focus with both keyboard and mouse
support.

This change merely dispatches key events before any mouse events to
avoid this problem.
2015-08-13 11:02:51 -05:00
rdb f161ce82cc Add argument names to quaternion classes so they show up in the API ref 2015-08-12 18:29:54 +02:00
rdb 782c4db634 Instead of checking every 100 end_frame() calls, check for errors every second. 2015-08-11 19:11:56 +02:00
rdb 283713a382 Fix deprecation warning for default shader in GL3.2+ core context 2015-08-11 18:27:15 +02:00
rdb 9773fd7969 Support cube map arrays 2015-08-11 17:08:31 +02:00
Ed Swartz 4916aaca54 Add 'openal-device' configuration variable for selecting OpenAL device 2015-08-11 09:29:26 -05:00
rdb a24531ff7b Various GL tweaks 2015-08-11 15:45:27 +02:00
rdb 8764cb8222 Merge remote-tracking branch 'origin/release/1.9.x' 2015-08-11 13:57:11 +02:00
rdb 888efc18af Avoid unnecessary glVertexAttribDivisor calls 2015-08-11 13:56:47 +02:00
rdb 63c65b4228 Merge remote-tracking branch 'origin/release/1.9.x'
Conflicts:
	direct/src/showutil/FreezeTool.py
2015-08-10 04:02:53 +02:00
rdb caf986fa2a Fix uninitialized variable that would sometimes prevent mouse movement from being registered by libRocket 2015-08-10 02:48:53 +02:00
rdb 5bf0d44735 Fix linker issue on Windows 2015-08-09 15:59:00 +02:00
tobspr 8a8cc94cbb Add setters to BoundingBox and BoundingSphere 2015-08-08 20:59:56 +02:00
rdb bff070430e Fix some aliasing warnings 2015-08-08 20:56:09 +02:00
rdb 74190f9e50 Work towards supporting Python 3 in the rtdist 2015-08-08 20:49:51 +02:00
rdb 2f8060bf2b Merge remote-tracking branch 'origin/release/1.9.x' 2015-08-07 21:42:02 +02:00
rdb c41a4120bc Fix OSX compile error due to Apple's broken glext.h 2015-08-07 21:41:15 +02:00
rdb 14bd992e77 Remove use of deprecated "register" keyword 2015-08-07 18:56:58 +02:00
rdb f1df65034d Fix Mac 10.11 compile error 2015-08-07 17:29:03 +02:00
rdb 1e4a39d68e Merge remote-tracking branch 'origin/release/1.9.x' 2015-08-06 17:23:25 +02:00
Ed Swartz b06ff60c10 Fix DynamicTextFont.makeCopy() implementation 2015-08-06 17:21:42 +02:00
rdb d66135f4b8 Add ability to change window icon after window has already opened on Windows 2015-08-06 14:36:51 +02:00
rdb c0ff9d8e5f Merge branch 'release/1.9.x' 2015-08-04 18:00:35 +02:00
Ed Swartz 22d5c2f8dd For tinydisplay, don't lose color/alpha scale when lighting 2015-08-04 17:59:53 +02:00
Ed Swartz 9396f998fb Avoid crash in p3tinydisplay when there is no initial window 2015-08-04 17:56:36 +02:00
rdb 6a782e8c31 Avoid accidentally getting a non-compat context on Windows Catalyst driver 2015-08-01 19:13:45 +02:00
rdb 51e243deb5 Fix point size/line width setting regression in OpenGL 2015-07-31 13:28:16 +02:00
rdb 62cefcab8b Update glext to make more recent GL functionality available 2015-07-31 13:20:38 +02:00
rdb 53696052b9 Fix regression in 1.10 with point/line thickness 2015-07-31 13:18:01 +02:00
rdb 508873a7d3 improve readability of glgsg spam output 2015-07-31 13:17:21 +02:00
rdb 1834d9e879 Fix incorrect assumption that Mesa GL 3.0 driver doesn't implement non-core functionality 2015-07-30 18:50:53 +02:00
rdb f22cc71995 Fix double-precision build blibli 2015-07-29 14:07:06 +02:00
rdb acc2a310d0 Change debug category for shader generator to pgraphnodes 2015-07-28 21:43:19 +02:00
rdb b9d45ccc04 Fixes for the fact that render states were no longer sticking around in the cache between frames 2015-07-28 21:42:45 +02:00
rdb 1ee8c5f6d2 Oops, typo fix 2015-07-28 19:48:24 +02:00
rdb e4c3301bd0 Shader context input state tracking system, for more efficiently updating shader inputs 2015-07-28 16:33:34 +02:00
rdb 0cecab3124 Fix issues with the rtdist build in 1.10 2015-07-28 15:40:04 +02:00
rdb 2db003a1c2 Merge remote-tracking branch 'origin/release/1.9.x' 2015-07-28 15:38:58 +02:00
rdb 265bf42f81 Fix crash when copying a WeakPointerTo that was already deleted 2015-07-28 13:41:26 +02:00
rdb e6d29d6f51 Document bug in enable_angular_motor 2015-07-27 20:01:37 +02:00
rdb f33e450823 A lot of performance changes, particularly wrt dcasts and state management 2015-07-27 16:32:57 +02:00
rdb 75019784f4 Changes to inlining so we can use FORCE_INLINING in gcc as well 2015-07-27 15:39:46 +02:00
rdb c0e1a3cdb4 Keysyms for dead acute and dead grave keys to better support int'l keyboards 2015-07-27 14:23:17 +02:00
rdb 4206e349c9 Fix obscure GL crash 2015-07-27 12:57:14 +02:00
rdb e8e155f218 AnimControlCollection methods should take floating-point frame numbers to match AnimInterface 2015-07-27 12:56:13 +02:00
rdb 3ad274639d Move Cg calls out of GSG reset() function - do profile detection entirely without Cg functions 2015-07-20 20:01:06 +02:00
rdb 87b23dfeb2 Improve shader model detection mechanism 2015-07-19 21:31:24 +02:00
rdb 194a43fa2a Merge branch 'release/1.9.x' 2015-07-19 21:24:19 +02:00
rdb 672a191d2a Improve error message when Cg support is not enabled 2015-07-19 21:23:46 +02:00
rdb e515cbdbd1 Reintroduce display mode information in Windows via Win32 API
Also clean up the CPUID code in winGraphicsPipe a bit
2015-07-19 21:13:01 +02:00
rdb 1bb1cc79f4 Improve reporting of supported extensions and compressed formats 2015-07-19 20:13:55 +02:00
rdb 8fcbfd72a1 Intel driver fixes (merge) 2015-07-19 09:32:09 +02:00
rdb 23441aa5bb Fix intel driver issues, particularly with geometry shaders 2015-07-19 09:22:57 +02:00
rdb e91a9100ed Support specifying custom gl-version or requesting debug context on Windows
Also works around NVIDIA driver bug where GL_VERSION is always reported as 1.2 for pview.exe
2015-07-18 22:41:59 +02:00
rdb 96a9e22395 Add uniform mat4 p3d_TextureMatrix[] input to GLSL 2015-07-18 11:07:18 +02:00
rdb 493b66c97d Merge compiler fix 2015-07-17 22:12:24 +02:00
rdb c224f351ec Fix gcc/clang compile error 2015-07-17 21:50:06 +02:00
rdb 5e219f6438 Add support for uniform int osg_FrameNumber in GLSL 2015-07-17 21:34:29 +02:00
rdb 5d7bc2c05e Merge branch 'release/1.9.x'
Conflicts:
	panda/src/glstuff/glShaderContext_src.cxx
2015-07-17 21:32:24 +02:00
rdb 221507437a Fix crash when passing an undersized array to a GLSL array input 2015-07-17 21:28:51 +02:00
rdb 4df64f7b42 Merge branch 'release/1.9.x' 2015-07-17 15:56:15 +02:00
rdb dafae50ce2 Protect against self-move-assignment to fix stable_sort in MSVC 2015-07-17 15:55:24 +02:00
rdb da6140a8cc Changes to GLSL input handling that further assist in efforts to port from Cg to GLSL 2015-07-14 21:04:50 +01:00
rdb 555844f82a Allow compiling out the fixed-function pipeline and request core context 2015-07-09 16:43:45 +02:00
rdb 220015a234 Drop support for vertex blend/matrix palette in OpenGL, no driver ever supported it (well) 2015-07-09 14:26:24 +02:00
rdb 9b6f4eeaf9 Fix compiler warnings in MSVC 2015-07-07 02:58:57 +01:00
rdb 7ce2a97bef BGRA color order fix for Cg on Windows 2015-07-07 02:37:48 +01:00
rdb ef9908c277 More robust Cg support on non-NVIDIA card + automatically enable hardware skinning in Shader Generator 2015-07-07 02:51:48 +02:00
rdb 214d799d82 Add optional "other" NodePath argument for get_tight_bounds() 2015-07-06 14:52:08 +02:00
rdb d43482ec9b Merge branch 'release/1.9.x' 2015-07-06 14:21:03 +02:00
rdb 7c2822515b Remove dependency on X11/Intrinsic.h 2015-07-06 14:19:46 +02:00
rdb cbcb2416d7 Merge branch 'release/1.9.x' 2015-07-06 10:32:30 +02:00
rdb fe058dfb32 Don't store two references to X11 Cursor, or we double free at shutdown 2015-07-06 10:29:44 +02:00
rdb f67ee228bf Fix error in cg-glsl-version 2015-07-05 20:39:34 +02:00
rdb 7026854cc2 Fixes to get the C binding generator to work 2015-07-05 16:07:08 +02:00
rdb c0f6588c88 Separate libp3interrogatedb out of libp3dtoolconfig.
This aids further in removing the core lib dependency on Python.
2015-06-30 15:17:15 +02:00
rdb 08fbfb1874 Add missing file, update .gitignores 2015-06-28 14:04:16 +02:00
rdb 419eadb859 Support hardware skinning in GLSL 2015-06-21 20:28:31 +02:00
rdb 7a836cbbd9 Merge branch 'release/1.9.x' 2015-06-21 17:46:34 +02:00
rdb 8ecf6a7b9f Fix getattr() and hasattr() of vector classes when invalid attribute name is used 2015-06-21 15:33:42 +02:00
rdb efa8633cb0 Merge branch 'release/1.9.x' 2015-06-18 21:21:23 +02:00
rdb 458ca5ea41 Fix error when aligning C_normal column for vertex animation 2015-06-18 21:21:00 +02:00
Ed Swartz 8746fd2252 Explicitly resizing window does not trigger event on OS X; do it ourselves 2015-06-15 10:03:38 -05:00
rdb 5d364d6128 Merge branch 'release/1.9.x' 2015-06-15 00:20:17 +02:00
rdb 6d0e4c2662 Correct scaling and normalizations of binormals and tangents in generated shaders 2015-06-15 00:19:52 +02:00
rdb ac7c8c3756 Merge branch 'release/1.9.x'
Conflicts:
	panda/src/gobj/geomVertexColumn.cxx
2015-06-14 23:16:42 +02:00
rdb bac400543a Correct scaling of normals during flatten operations 2015-06-14 23:14:56 +02:00
rdb 82e098e578 Move auto-rescale-normal handling out of GSG, support normalizing normals in shader generator 2015-06-13 18:20:18 +02:00
rdb 2515ea5dff Merge branch 'release/1.9.x' 2015-06-13 13:37:33 +02:00
rdb c85a92d378 Add assertion to GeoMipTerrain::get_block_node_path 2015-06-13 13:34:19 +02:00
rdb 11ed8a4d8d Use dynamic type lookup for interrogate to eliminate inter-module dependencies
It is now no longer necessary to link to core.pyd
Also includes a slight coercion optimization for trivial types
2015-06-06 19:36:40 +02:00
rdb 8e58e9e11c Merge branch 'release/1.9.x' (though keep template exporting in master) 2015-06-06 17:03:27 +02:00
rdb 4d46172fba Revert non-Windows template export changes from 1.9.x, they're less stable than I thought 2015-06-06 16:55:33 +02:00
rdb 3c380d9006 Support collision sphere and plane solids in bam2egg 2015-06-06 16:46:43 +02:00
rdb cfcf91c1c1 Support far clip distance of infinity 2015-06-06 16:25:08 +02:00
rdb 7b9efb32af Merge branch 'release/1.9.x' 2015-06-04 00:35:19 +02:00
Ed Swartz 41498e3895 Fix a libRocket texture issue 2015-06-03 22:30:22 +02:00
rdb a70878c4ef Merge branch 'release/1.9.x' 2015-06-03 20:26:22 +02:00
rdb f8ec2c10d5 libRocket now responds consistently to auto-texture-scaling, and supports (and prefers) padding over scaling
Thanks to Ed Swartz for helping to track down these issues!
2015-06-03 19:58:50 +02:00
rdb ecaffd5eaa Fix regression in 1.9.0: loaded textures not always rescaled to POT 2015-06-03 19:55:28 +02:00
rdb eeddc9c07d Merge commit 'd1106953b219dbd786c789e92849063dd394bb38' into release/1.9.x 2015-06-03 19:51:39 +02:00
rdb 24b3b85e98 Try and work around weird GCC 4.6 bug with instantiating PTA_uchar 2015-06-03 19:50:52 +02:00
rdb f69354d9fa Explicit template instantiation on gcc/clang, implement cfsworks' suggestion of moving compiler-specific stuff out of pandasymbols.h et al 2015-06-03 13:36:04 +02:00
rdb 141c7a9c35 Improve build performance on Windows slightly 2015-06-02 21:02:35 +02:00
Ed Swartz d1106953b2 Let user know why p3tinydisplay doesn't load texture 2015-06-02 13:20:01 -05:00
rdb 75978222a1 Merge branch 'release/1.9.x' 2015-06-02 00:31:24 +02:00
deflected 88e5214af7 glstuff: Fix incorrect handling of Transpose in Shader Inputs
- Added missing recalculation of size when
    input buffer is "resized" (due to removing of
    post/pre-fixes). Now the "Transponse" part is
    correctly handled.

Signed-off-by: deflected <deflected@github>
2015-06-02 00:29:34 +02:00
rdb a73b5b3fd1 Merge pull request #33 from eswartz/pr-pnmimage-premultiply
Add PNMImage premultiply/unpremultiply methods.
2015-06-01 15:25:55 +01:00
Ed Swartz dbcb389d73 Add PNMImage premultiply/unpremultiply methods. 2015-06-01 08:42:15 -05:00
rdb 868b78f854 Work around interrogate issue 2015-06-01 00:32:51 +02:00
rdb cc62e731b7 Fix compilation with ppremake 2015-06-01 00:21:32 +02:00
Ed Swartz 4c5a540dc9 Add a color and config variable for the pstats "*" category 2015-05-31 10:27:52 -05:00
rdb c59845a63b Merge pull request #31 from eswartz/pr-rocket-more-keys
Make more keys available to libRocket event handlers
2015-05-31 09:11:26 +01:00
Ed Swartz 32bfe0bafc Add a few missing keys to libRocket keymap
libRocket calls some keys "OEM" which map to ASCII characters in
non-predictable places.  Since Panda3D is providing these values
to libRocket from well-known sources, it seems a lesser evil to
use the default US English mappings rather than losing the events
entirely.
2015-05-30 22:16:15 -05:00
rdb 5d84cc22a9 Bind textures to image samplers by default with read/write access without warning 2015-05-24 15:03:08 +01:00
rdb e2dfc935a1 Various refactoring, esp. of GLSL input system 2015-05-21 14:16:45 +02:00
rdb b49289a4f6 Allow setting min-lod, max-lod, lod-bias in egg file 2015-05-21 11:16:46 +02:00
rdb 18533a29bf Merge branch 'release/1.9.x' 2015-05-18 02:08:27 +02:00
rdb 49e0ff000c Track residency of graphics buffers (both RTT and renderbuffers) 2015-05-18 02:07:35 +02:00
rdb f152c238d5 Display error message instead of mysterious crash when encountering unknown BamObjectCode 2015-05-18 02:04:22 +02:00
rdb 32fb6814e7 Merge branch 'release/1.9.x' 2015-05-14 17:18:20 +02:00
rdb 586c067d69 Fix shader generator memory leaks 2015-05-14 17:17:38 +02:00
rdb f0df4b3b77 Merge branch 'release/1.9.x' 2015-05-11 21:15:11 +02:00
rdb b9440d634c Fix regression with depth-stencil textures reported as unsupported 2015-05-11 20:33:14 +02:00
rdb 5def6a6261 Fix flickering when using trans_model_to_apiview in Cg 2015-05-11 20:31:37 +02:00
rdb 96de270320 Fall back to depth textures when depth-stencil textures aren't supported 2015-05-11 20:31:10 +02:00
Ed Swartz e9fa116d17 Dynamically adjust camera clip range in pview 2015-05-11 12:59:25 -05:00
rdb 9ef782cd75 Merge branch 'release/1.9.x' 2015-05-11 18:07:53 +02:00
rdb 07ea84a1a0 Optimize shader matrix generator, allow changing GL internal coord system 2015-05-11 18:07:14 +02:00
rdb e8ce2b7b54 Fix OpenGL ES 1 compile error, it does not have GL_INT 2015-05-11 14:19:06 +02:00
rdb 4486fda042 Merge branch 'release/1.9.x' 2015-05-07 22:39:53 +02:00
rdb dbf82d514e Switch from deprecated xf86dga.h header to Xxf86dga.h 2015-05-07 22:39:12 +02:00
Ed Swartz 1fb49dc3f7 Fix Rocket asset lookup to use VFS correctly for .p3d 2015-05-07 22:37:16 +02:00
Ed Swartz bb98d8a8a0 Use model-path as a fallback for rocket asset lookup 2015-05-07 09:40:12 -05:00
rdb 541c684114 Fix filename substitution in shader error reporting for first included file 2015-05-06 15:46:16 +02:00
Ed Swartz e8fca5668c Fix a rash of asserts from PNMImage::get_alpha_val
-- originally the code had an explicit check for a missing alpha channel, that went away in 22120524a2
2015-05-05 11:31:25 -05:00
rdb f658283911 Merge branch 'release/1.9.x' 2015-05-03 20:48:06 +02:00
rdb c292d3bc65 Allow deactivating GPU timers, disable Draw:Primitive:Draw collectors 2015-05-03 20:47:29 +02:00
rdb 8ef5f05342 Pass correct byte size (instead of pixel size) for texture buffers 2015-05-03 16:30:36 +02:00
rdb cc9abf0bae Merge pull request #21 from eswartz/add-pview-options
Add -L (lighting) and -P <pipe> options to pview
2015-05-02 15:30:20 -05:00
rdb 5f875239f2 Merge branch 'release/1.9.x' 2015-05-02 22:17:29 +02:00
Sam Edwards 184901309e general: Fix missing includes. 2015-05-02 22:14:17 +02:00
rdb 11350334d0 Add assertion to prevent invalid use of FrameRateMeter 2015-05-02 22:07:03 +02:00
rdb 90ad6f00bf Change p3d_Color behavior to take ColorAttrib into account; assign white if missing 2015-05-02 15:48:21 +02:00
rdb fdc8918946 Add packed unsigned 11/10/10-bit floating point vertex format 2015-05-02 14:20:51 +02:00
Ed Swartz 6ceaf63c7d Add -L (lighting) and -P <pipe> options to pview 2015-05-01 20:34:14 -05:00
rdb aac24a3a13 Merge branch 'release/1.9.x' 2015-05-01 20:15:54 +02:00
rdb 74f936115e Force p3d_Vertex to attribute location 0 to fix disappearing geometry when an attribute is not bound 2015-05-01 20:15:00 +02:00
Ed Swartz fc5a2e5e33 Implement confined mouse mode for OS X.
Note: it seems that using #set_pointer() will result in
a long delay before an absolute mouse position is updated,
even though deltas are reported.

Thus, in CocoaPandaView, the mouse deltas are sent for both
relative and confined modes, so client code (e.g. the "mouse
modes" demo) will be able to recenter the mouse without
choppy movement.
2015-04-30 17:57:00 -05:00
rdb 9303c247b6 Support signed int vertex data, normalize 16-bit uint colors properly, don't normalize int columns passed to shaders 2015-04-30 20:13:36 +02:00
rdb 24ec0d6c46 Merge branch 'release/1.9.x' 2015-04-30 19:57:23 +02:00
rdb a745184f25 Fix X11 compile and interrogate issues 2015-04-26 15:27:39 +02:00
rdb 589a1b52ac Revert unintentional debug message check-in 2015-04-26 15:07:09 +02:00
rdb 92d40c3144 Default vertex column alignment should be 4 2015-04-25 18:48:48 +02:00
rdb 66011a1352 Expose _NET_WM_PID to window managers in X11 2015-04-25 17:17:33 +02:00
rdb f1ea25bfb1 Unexpose BoundingVolume::around, add GraphicsOutput::get_fb_size 2015-04-25 17:13:35 +02:00
David Rose 1d1ee63b8e Merge branch 'master' of https://github.com/panda3d/panda3d 2015-04-25 07:24:10 -07:00
David Rose 8876f0939e add PfmFile::gamma_correct(), PfmFile::apply_mask(), PNMImage::copy_channel_bits() 2015-04-25 07:23:54 -07:00
rdb 5f20afd5ea Merge pull request #18 from eswartz/support-mouse-confinement
Support mouse confinement
2015-04-18 13:03:48 +02:00
Ed Swartz 53171c93c8 Replace some debug() calls with info()/warning() calls. 2015-04-17 15:55:46 -05:00
Ed Swartz 0f5b1a8192 Fix X11 M_relative case when missing XF86DGA 2015-04-17 15:50:11 -05:00
Ed Swartz 48cc1aa496 Implement an M_confined mouse mode to ensure mouse stays in window. 2015-04-17 15:12:29 -05:00
rdb 9c313a172d Make writable: bullet convex hull, triangle mesh, debug node 2015-04-16 20:26:55 +02:00
rdb 4f47b018eb Some .bam cross-compatibility for buffer textures 2015-04-16 17:10:14 +02:00
rdb 2ff9083812 Add support for buffer textures 2015-04-16 16:55:29 +02:00
rdb 38ac0401ce A start to make Bullet objects writable (to .bam files) 2015-04-15 22:00:30 +02:00
rdb 76e135b835 Improve behaviour of get_deactivation_enabled/is_deactivation_enabled 2015-04-15 21:58:54 +02:00
rdb d7552f0d8a Merge in bugfixes from branch 'release/1.9.x' 2015-04-14 15:50:53 +02:00
rdb 0343c4f186 GLSL robustness and issue fixes:
* Int params were not being implicitly converted to float properly
* p3d_TextureN now accepts other sampler types
* More error checking for parameter types
* p3d_ColorScale et al also allows vec3 instead of vec4 now
2015-04-14 15:48:48 +02:00
rdb 8360ad442a Work around gcc compiler shortcoming 2015-04-14 15:46:52 +02:00
rdb 0c3fd953fc oops, revert accidental checkin of debug message 2015-04-06 15:11:55 +02:00
rdb adb02a8f45 Compile out things irrelevant for target build, like ShaderGenerator when !HAVE_CG 2015-04-06 13:24:45 +02:00
rdb 947149c56a Fix reading from URLs mounted to the virtual file system 2015-04-05 22:50:38 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb cda7c1f171 OpenGL ES 2 optimizations and better support 2015-04-04 21:58:29 +02:00
rdb 4976345486 Let's use OpenGL-style vertex colors by default on non-Windows platforms 2015-04-04 21:38:54 +02:00
rdb b323d73622 Reduce redundant state changes and error checks 2015-04-04 21:04:27 +02:00
rdb 059f67d1b5 Improve GLSL error reporting, fix GLSL ES shader loading 2015-04-04 20:57:04 +02:00
rdb 41184b1189 Optimizations to improve start-up time (esp. in JavaScript) 2015-04-04 19:05:54 +02:00
rdb 0082b7876f Fix clang 3.5 compile warnings/errors 2015-04-04 16:00:20 +02:00
rdb 87451d8000 Support wireframe and point rendering modes in OpenGL ES 2015-04-04 16:00:19 +02:00
rdb 82b3268786 Prevent crash when OpenAL device creation fails 2015-04-01 02:55:20 +02:00
rdb 3f520cad01 Fix black screen when going to fullscreen on Mac OS X 2015-04-01 02:40:59 +02:00
rdb f8779d7eaf Warn if GeoMipTerrain is passed a height field with sRGB color space 2015-03-31 22:33:11 +02:00
rdb b4bfe7010c A few convenience methods that allow for cleaner code in GSGs 2015-03-31 13:57:02 +02:00
rdb 720fdba470 Re-expose LineStream to Python 2015-03-31 13:07:33 +02:00
rdb 95c403e636 Remove unused lru implementation 2015-03-31 12:51:05 +02:00
rdb 10796fe33e Fix unlockFocus error in release builds 2015-03-30 17:58:35 +02:00
rdb 40fff906d1 Change default window size to 800x600 across the board (incl runtime) 2015-03-30 17:57:37 +02:00
rdb 5827959056 Fixes for 64-bit OS X build on newer OS X versions 2015-03-29 22:06:32 +02:00
rdb 0f8f4d63b0 Only query glVertexAttribIPointer when GL version >= 3.0 2015-03-29 18:11:12 +02:00
Sam Edwards 64120cd7d8 general: Add missing includes and forward-declarations. 2015-03-28 19:27:48 +01:00
rdb b06100afdd Changes to support building universal Mac rtdist for 1.9 2015-03-28 00:31:10 +01:00
rdb 477aa4bdfe Fix various Windows build issues 2015-03-27 23:17:35 +01:00
rdb f624cdcac0 Fix various Mac OS X bugs and build issues 2015-03-25 19:43:21 +01:00
rdb 3371df8403 Fix tp_compare, better __repr__/__str__ handling 2015-03-25 19:36:35 +01:00
rdb b894954fda Better type matching (and error reporting) for GLSL shader inputs 2015-03-24 22:41:13 +01:00
rdb cf8f4d6fbc Update ca-bundle.crt 2015-03-24 22:31:20 +01:00
Ed Swartz 8344fc6187 PNMImage row interface 2015-03-23 19:28:37 +01:00
rdb 38d02fadf9 Fix various interrogate issues with parsing PhysX headers 2015-03-23 19:27:29 +01:00
rdb 0570d9536e Merge branch 'interrogate-overhaul'
Conflicts:
	panda/src/gobj/texture.h
	panda/src/pnmimage/pnmImage.h
2015-03-22 21:50:08 +01:00
rdb 7edecd7fea Fix compilation issues with the runtime 2015-03-21 21:33:32 +01:00
rdb ba6529811d Fix regression with incorrect scaling of 16-bit PNG files 2015-03-21 21:08:54 +01:00
Nikola Milentijevic e687c76db8 Fix MeshDrawer::stream
Direction vector is computed as stop - start, but the position
in the loop is computed from stop as base, instead of from start;
this is changed to start as the base (and then offset must be added).
Multiplication of non-normalized direction vector with its length
yields square of the expected current step inside the loop;
this is changed to use the normalized direction vector.
2015-03-17 19:40:09 +01:00
Nikola Milentijevic c0b2468b04 Consolidate distance factor for 3D audio
The semantics of distance factor is now same for both OpenAL and Fmod.
The value is given in units per meter, and the default is 1.0.
This means that Panda units are understood to be meters by default.
For example, for feet one would have to set this value to 3.28.
2015-03-16 22:24:29 +01:00
rdb 1bd343cd87 Windows compile issues fix 2015-03-15 19:37:14 +01:00
rdb 22120524a2 PNMImage sRGB support, use floats instead of doubles 2015-03-15 17:22:28 +01:00
rdb b63d5fbe8c Support cyclic garbage collection through PythonTask objects 2015-03-15 12:24:06 +01:00
rdb e608fa69c7 Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
2015-03-14 16:47:31 +01:00
rdb 68cf8cf44f Fix various issues with API documentation generator 2015-03-13 18:40:26 +01:00
rdb ee024f3dc5 Typo fix 2015-03-09 15:51:22 +01:00
rdb 36525784fd Robustify GL FBO framebuffer properties handling 2015-03-09 15:27:38 +01:00
rdb d345246a93 Fix compilation with STDFLOAT_DOUBLE 2015-03-08 15:55:43 +01:00
rdb d11cafc374 Replace SSE4 instruction with SSE2 instruction 2015-03-02 16:18:55 +01:00
rdb 97c24c9ef0 Fix a Cg crash with GL_BGRA color arrays, on NVIDIA cards this time 2015-03-01 17:32:20 +01:00
rdb 04d4309b14 SSE2-enhanced sRGB encode (with runtime CPU detection) 2015-03-01 11:46:52 +01:00
rdb 223620e27e Fix draw mask propagation for initially hidden nodes when when frustum culling is off 2015-02-28 13:03:45 +01:00
rdb 3d9d9bfc95 Deprecate use of <Collide> without specifying "descend" flag 2015-02-27 19:59:54 +01:00
rdb 238cbad2a1 Merge branch 'master' into interrogate-overhaul 2015-02-27 12:48:33 +01:00
rdb db87bc7914 PointerToArray fixes, Windows build fixes, more move constructors 2015-02-27 12:45:11 +01:00
rdb 0e67fb7cf3 Merge pull request #9 from deflected/master
FreeBSD fixes
2015-02-26 15:39:00 +01:00
rdb 72e1df987f Fix pview issues with 1-frame animations and cycling between animations 2015-02-25 21:45:14 +01:00
rdb 52fec094bc Automatically coerce Python function to CallbackObject 2015-02-25 16:24:56 +01:00
rdb 69dc29d6f0 Merge pull request #7 from kestred/cfs-fixes
Miscellaneous compilation fixes
2015-02-25 02:25:19 +01:00
rdb 7a6aa7bfae Implement ParamNodePath; fix circular include issue in shaderInput.h 2015-02-25 01:25:19 +01:00
Sam Edwards f0b3e08e9c ffmpeg: Use av_frame_* instead of deprecated avcodec_*_frame functions beginning with lavc 55.45.101. 2015-02-24 16:22:37 -08:00
Sam Edwards 903966371c general: Fix missing includes. 2015-02-24 16:06:47 -08:00
Sam Edwards 894423ace4 ffmpeg: Don't use internal SWR_CH_MAX macro. 2015-02-24 16:06:40 -08:00
rdb 8dbe681143 Fix bug with Collide flag "polyset" and nested <Transform> elements 2015-02-24 23:51:00 +01:00
rdb 46ddd46c5c Support materials in bam2egg 2015-02-24 21:40:55 +01:00
09th c0e4de3df7 Fix bam2egg issue with animated models 2015-02-24 19:58:14 +01:00
rdb 6263a591be Fix matrix.almost_equal with custom threshold in Eigen build 2015-02-22 15:04:54 +01:00
rdb 3600abfe6d Fix coercion of non-interned strings in Python 3 2015-02-22 13:51:46 +01:00
deflected d82f2c83cd downloader: Correct lack of timezone
- Use tm_gmtoff for GMT correction under FreeBSD

Signed-off-by: deflected <deflected@github>
2015-02-20 14:10:19 +02:00
enn0x d320aced73 Fixed const-correctness for BulletAllHitRayResult. 2015-02-20 01:29:16 +01:00
enn0x b7ef0d3bc3 Exposed flag to disable collision between linked bodies. 2015-02-20 01:14:12 +01:00
rdb 0fda35d88c Commit patch by nikolm to support AmbientLight shader inputs in GLSL 2015-02-16 21:33:38 +01:00
rdb d447ec3bc6 If GL_RENDERER begins with "Gallium", disable GL_PRIMITIVE_RESTART_FIXED_INDEX 2015-02-15 14:19:47 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb d43068b09a Merge branch 'master' into interrogate-overhaul 2015-02-11 21:59:54 +01:00
rdb 7ed8cc9831 Add p3d_Color uniform in GLSL shaders 2015-02-11 21:54:34 +01:00
rdb 886890b02f Merge /mnt/panda3d 2015-02-11 21:43:21 +01:00
rdb 4d2dcdcef7 Fix OpenGL ES compiler errors 2015-02-11 21:41:48 +01:00
rdb 8d17e86d2e Merge /cygdrive/g/panda3d 2015-02-11 21:13:25 +01:00
rdb b9c1765ab4 Fix eggcacher, dramatically improve Windows installer 2015-02-11 21:12:54 +01:00
rdb 4dc4c9eb3d Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/interrogate/functionRemap.cxx
	dtool/src/interrogate/interfaceMakerPythonNative.cxx
	panda/src/event/pythonTask.cxx
	panda/src/express/multifile.h
	panda/src/express/pointerToArray.I
	panda/src/mathutil/config_mathutil.N
	panda/src/putil/config_util.N
	panda/src/putil/doubleBitMask.h
2015-02-11 14:41:58 +01:00
rdb 5a51a7e08d Fix various build issues 2015-02-11 14:16:21 +01:00
rdb a6eb3fa442 Make NodePathCollection and TextureCollection constructors extensions 2015-02-11 14:14:03 +01:00
rdb cbd70ad8af Move all Python bindings out of core DLLs into the .pyd files. 2015-02-10 14:30:51 +01:00
rdb 79d025e9a8 Fix incorrect transformation of CollisionBox loaded from .egg file 2015-02-09 20:43:04 +01:00
rdb 8998fef903 Merge branch 'master' of github.com:panda3d/panda3d 2015-02-09 16:53:45 +01:00
rdb e9a64736a3 Fix 32-bit Windows compilation issues with Eigen 2015-02-09 16:51:59 +01:00
rdb bcf0229978 Expose p3d_ClipPlane array to GLSL 2015-02-09 15:57:47 +01:00
rdb b4a87b58f2 Support halfVector struct parameter for GLSL light source inputs 2015-02-08 23:38:07 +01:00
rdb bd86907181 Fix assortment of compilation issues and annoyances 2015-02-08 23:25:11 +01:00
rdb 91568b02bc Add EggVertex::make_average(v1, v2) 2015-02-08 19:51:18 +01:00
rdb f6453fd83e Fix internal name coercion error with new interrogate system 2015-02-08 13:04:53 +01:00
rdb b2f73d0877 Merge branch 'master' into interrogate-overhaul 2015-02-08 12:11:19 +01:00
rdb dad8f79e96 Support using setShaderInput with a light to bind to GLSL struct 2015-02-08 01:42:11 +01:00
rdb 028c09add5 Implicit cast string to InternalName in c++, also optimize for string literals 2015-02-07 16:43:25 +01:00
rdb 78f8f65ef9 Add M_filled_wireframe render mode 2015-02-06 12:15:25 +01:00
rdb eaabc1bfa5 Add ConfigVariableColor 2015-02-05 13:34:52 +01:00
rdb 3bf2a0f814 Proper unbinding of GLSL matrix attribute arrays 2015-02-05 13:27:35 +01:00
rdb 7c14d1872a Fix race condition when manipulating node transform in thread (LP #1417715) 2015-02-04 00:06:14 +01:00
rdb 6b10409890 Fix add_consecutive_vertices / show_bounds crash 2015-02-03 17:18:58 +01:00
rdb 083e160f89 Partially fix excessive event spam when resizing windows 2015-02-02 19:18:32 +01:00
rdb 987ba2083b Use notify-level-shader instead of gobj for shader logging 2015-02-02 19:03:14 +01:00
rdb 3b1bd9ef39 This fixes most issues with Cg's GLSL profiles on non-NVIDIA cards 2015-02-02 16:31:23 +01:00
rdb 3aefaff8b1 Show source filename in GLSL error logs 2015-02-01 19:25:51 +01:00
rdb 13fb8079ec Better shader caching, GLSL "#pragma include" support, better error reporting 2015-02-01 17:52:52 +01:00
rdb 9b2e322f29 Display better error when encountering invalid prim index 2015-02-01 17:41:55 +01:00
rdb a7d1eb90c5 Expose has_extension to query whether OpenGL extension is supported 2015-01-24 21:56:06 +01:00
rdb 0f1243230d Fix OpenGL error on FBO shutdown
(caused by call to glGetError while context was already shut down)
2015-01-24 19:50:25 +01:00
rdb a6cf0960fa Remove EventStorePandaNode, it is no longer necessary
(since PandaNode now directly inherits from TypedWritableReferenceCount)
2015-01-24 19:50:14 +01:00
rdb 0a64bdb33b Fix MouseRecorder & let PandaNode inherit from TypedWritableReferenceCount 2015-01-24 16:12:04 +01:00
rdb 0dc0bbdf0c Missed this section, no point generating shaders in draw any more 2015-01-23 21:41:43 +01:00
rdb c3ca2f1a65 Fix regression with Actor loading 2015-01-23 21:24:29 +01:00
rdb 7ba0469148 Shader generation should be done in cull, not in draw 2015-01-23 15:03:50 +01:00
rdb a56f722c09 GeomPrimitive optimizations & tweaks 2015-01-23 13:54:29 +01:00
rdb c2aa6991d6 Fix glObjectLabel error, fix crash on shutdown with pstats-gpu-timing 2015-01-23 13:22:31 +01:00
rdb c5dd6c69dd fix Loader error reporting 2015-01-23 13:20:14 +01:00
rdb 7b18e5aa41 Merge ../panda3d-git 2015-01-22 17:10:28 +01:00
rdb eacb420d3f Merge branch 'master' of github.com:panda3d/panda3d 2015-01-22 17:09:54 +01:00
rdb 77c9e6cf6c Add support for instance arrays via vertex attrib divisors 2015-01-22 17:04:25 +01:00
rdb 0ad0d4ec33 Further optimizations to the cull pipeline.
The only transform still stored in CullableObject is internal transform.

NB: I haven't tested my PipeOcclusionCullTraverser changes.  Please contact me if you encounter problems with it.
2015-01-22 16:22:16 +01:00
rdb 536d6e7810 Fix obscure bug with BitMask64::get_next_higher_different_bit() 2015-01-22 14:02:01 +01:00
rdb 142bd6a021 Remove old MLightVector TexGen mode and FFP-based normal mapping 2015-01-22 12:26:22 +01:00
rdb 3423a09f4f Merge branch 'master' of github.com:panda3d/panda3d 2015-01-21 22:12:53 +01:00
rdb 94e5bbf579 Changes to support a custom GraphicsWindow derivation 2015-01-21 20:32:00 +01:00
rdb a7f7d54f10 Support vertex attributes with matrix type 2015-01-19 00:16:59 +01:00
rdb 095a402853 Fix window-resizing regression on Windows 2015-01-14 20:23:16 +01:00
rdb 17aafeba15 Fix stencil clear: reset stencil mask before glClearStencil 2015-01-13 03:18:05 +01:00
rdb 0b2a3f0c95 Fix assertion trigger in PandaNode 2015-01-12 21:52:09 +01:00
rdb 763727fbb1 attempted crash fix 2015-01-12 21:34:47 +01:00
rdb b9899ba747 Cull improvements: tighter sphere generation 2015-01-08 23:17:06 +01:00
rdb c04cd29246 Cull improvements: don't compute bounds when not necessary 2015-01-08 23:16:38 +01:00
rdb 75c1364373 Disable use of GL_NV_primitive_restart due to driver bugs 2015-01-08 11:43:28 +01:00
rdb 65f786c8ff Fix #1186845: get_texture_card() no longer hangs multi-threaded pipeline. 2015-01-08 01:43:14 +01:00
rdb 3c30c8de56 Expose OpenSSLWrapper to Python (as requested) 2015-01-07 23:05:14 +01:00
rdb 6ce891f748 Finally fix the aspect ratio on the blasted FPS meter 2015-01-07 22:34:43 +01:00
rdb b5a49efc2e Merge branch 'master' into interrogate-overhaul 2015-01-07 19:34:15 +01:00
rdb af15797a25 Many, many performance optimizations and enhancements 2015-01-07 19:30:01 +01:00
rdb b19ff5b10e Fix crash that may occur when handle_reshape in called before the window is fully created.
Not sure if this affects any renderer but the tinydisplay renderer.
2015-01-05 22:38:09 +01:00
rdb 8a5f07f9c3 Forgot two HAVE_FMODEX lines 2015-01-05 18:10:45 +01:00
rdb e2cdade9d2 Merge branch 'master' into interrogate-overhaul 2015-01-04 20:39:58 +01:00
rdb 936fa653b0 Remove unneeded HAVE_ flags from dtool_config.h generation 2015-01-04 20:34:59 +01:00
rdb 5e905d4463 Fix various parser bugs, improve error reporting
(to show the included file chain -vv is now needed)
2015-01-04 20:30:24 +01:00
rdb 34761a0b9b Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
2015-01-03 16:52:44 +01:00
rdb 3831d44576 Fix issue with resetting ScissorAttrib state
https://www.panda3d.org/forums/viewtopic.php?f=1&t=17505
2015-01-02 22:38:02 +01:00
rdb 5e5a04031f Remove old decal system to simplify cull/draw process a bit more 2015-01-02 15:26:47 +01:00
rdb e8905b840c Use C++11 move semantics to dramatically improve PointerTo performance 2015-01-02 15:25:58 +01:00