johni0702
7e91cb82a6
Fix resizing in render progress gui being at totally the wrong position causing the rendered video to be swapped to screen
2015-08-10 14:41:56 +02:00
johni0702
78e4c36d54
Replace no name tag CT with mixin magic
...
Fix nametags of sneaking players being displayed even though nametags are disabled
2015-08-05 17:09:54 +02:00
johni0702
4efdc0ebd0
Replace CustomEntityHandler with mixin magic
2015-08-04 23:18:23 +02:00
CrushedPixel
34fe741cc4
Call Minecraft#updateDisplay in VideoRenderer if not in High Performance Mode, to resize the GuiVideoRenderer if user resized screen (requested by many users)
...
This has no side effects on the rendered video.
Change GuiVideoRenderer#initGui method to allow for resizing
2015-07-30 12:59:54 +02:00
CrushedPixel
13481416b7
Fixed a major bug in the Time Keyframe interpolation when rendering a video that caused the Replay to be restarted while rendering. This occurred whenever videoTime exactly matched a Time Keyframe's Position and was fixed by passing true to KeyframeList#getPreviousKeyframe and KeyframeList#getNextKeyframe, which therefore return the Keyframe itself if the timestamp matches.
2015-07-23 13:13:36 +02:00
CrushedPixel
f5a9723646
Added getLinearInterpolator() and getCubicInterpolator() methods to KeyframeValue interface to allow for specific Interpolators instead of the Generic Interpolators
...
Created InterpolationUtils class with a method to fix the Euler Rotation Break problem
Create AdvancedPositionSplineInterpolation and AdvancedPositionLinearInterpolation which always use the shortest possible paths between the Euler Rotation values of the Camera's Yaw and Roll
Remove Position Keyframe filtering when adding the Keyframe. This is now done by the AdvancedPositionInterpolation classes
2015-07-21 03:49:20 +02:00
johni0702
6422558028
General warning cleanup
2015-07-19 16:21:56 +02:00
johni0702
d61e82ef3b
Add PBO frame capturer for stereoscopic, cubic and equirectangular rendering
2015-07-18 16:37:11 +02:00
johni0702
fdd2c7ecf7
Allow all camera rotation axis to be ignored separately during rendering
2015-07-17 12:43:46 +02:00
johni0702
84cb8b2988
Do not bother with exceptions during exporting when process was cancelled
2015-07-16 19:09:30 +02:00
johni0702
56efc8c5ec
Use RGB instead of ARGB for export and therefore speed up OpenGL to output conversion process
2015-07-16 18:14:14 +02:00
johni0702
6a5b6fdac5
Add PBOs and PBO support for default rendering
2015-07-16 16:23:30 +02:00
johni0702
787942aef2
Add high performance rendering mode which does not render the GUI every frame
2015-07-16 16:23:30 +02:00
johni0702
e6fcf4f094
Add render option for hiding player name tags
2015-07-16 12:55:36 +02:00
johni0702
7fd429e25f
Rework rendering pipeline to make better use of multithreading
...
Move OpenGL frame to ARGB conversion to processing threads
Move video exporting to processing threads
Skip creation of BufferedImage and instead use ByteBuffer with ARGB content directly
2015-07-15 14:23:43 +02:00
CrushedPixel
d057553223
Added "inclusive" parameter to getPreviousKeyframe() and getNextKeyframe() in KeyframeList to define whether the next/previous keyframe may have the same timestamp as the realTime parameter
...
Fixed a bug in KeyframeList#getPositionOnPath where a non-inclusive getPreviousKeyframe call resulted in an incorrect position value
2015-07-14 13:48:48 +02:00
johni0702
81c4659b93
Fix time freezes during rendering not working
2015-07-13 12:49:25 +02:00
CrushedPixel
ac3474f2bc
The output file can now be specified in GuiRenderSettings
2015-07-12 22:13:18 +02:00
CrushedPixel
06686d20a6
Added static reference to current VideoRenderer instance to allow CustomObjectRenderer to correctly interpolate Object Transformations while rendering
2015-07-12 18:59:19 +02:00
CrushedPixel
cb912d7e54
Pass correct arguments to BoundingUtils.fitIntoBounds call in FrameRenderer to fix distorted preview
2015-07-12 18:58:43 +02:00
CrushedPixel
ef39c7466d
Renamed the commonly used Position POJO into AdvancedPosition, as it also hold pitch, yaw and roll
...
Made GuiDropdown only accept instances of GuiEntryListEntry to avoid unneccessary toString() methods returning the name
Added GuiEntryListValueEntry which holds a Value and a Name to be displayed
Continued work on GuiObjectManager
2015-07-10 04:27:15 +02:00
CrushedPixel
16b74d9824
Included Path Interpolation methods in KeyframeList and uses it in PathPreviewRenderer
...
Created newInstance() method in KeyframeValue interface
2015-07-08 23:55:48 +02:00
CrushedPixel
5100b63964
Warning, GIGANTIC COMMIT!
...
Replaced Keyframe subclasses with Generic Types of Keyframe and replaced all instanceof calls
Replaced implementations of Linear and Spline interpolation to interpolate any Object that extends KeyframeValue and contains at least one public double Field. I'll need this for Keyframe interpolation in CustomImageObject Transformations
Made MarkerKeyframe *no* subclass of Keyframe to avoid conflicts with PositionKeyframe in instanceof checks for Keyframe#getValue
Created KeyframeList which extends ArrayList to provide some helping functions which DRY up the ReplayHandler
Split up ReplayHandler's keyframeList into timeKeyframeList and positionKeyframeList
2015-07-08 04:13:24 +02:00
CrushedPixel
e22b37babe
Created ReplayAsset interface and AssetRepository class which can contain such ReplayAssets. ReplayAssets allow users to add custom Files (so far only images, might be extended by .obj files) to the Replay which will later be used for CustomImageObjects.
...
Created GuiReplayManager to allow users to manage their assets.
Created BoundingUtils class to provide a simple method to fit an image into given bounds. This implementation fixes https://trello.com/c/WTnicWkJ/
2015-07-07 18:45:48 +02:00
johni0702
0c94bc9ce6
Set fov modifier during rendering to 1 when in camera view
2015-07-07 14:33:25 +02:00
johni0702
a21cf64a88
Realign all nametags towards the camera when rendering 360° frames
2015-07-06 15:52:07 +02:00
CrushedPixel
c811c81be1
Optimized Aspect Ratio Calculation in ReplayScreenshot to replace 1280/720 with 16/9
2015-07-02 14:40:48 +02:00
CrushedPixel
e1c19d7537
Made custom command line arguments respect placeholders like %FPS%
2015-07-02 13:25:29 +02:00
CrushedPixel
a189868390
Added Support for custom ffmpeg Command Line Arguments when Rendering a Video | https://trello.com/c/69CNoWuA/
2015-07-01 13:28:41 +02:00
johni0702
c34ec09e6b
Revert parts of "Finally gave up on trying to inject YouTube 360° Metadata into Videos and removed respective Checkbox in GuiRenderSettings"
...
This reverts parts of commit 9da89c4f07 .
2015-06-30 18:17:00 +02:00
CrushedPixel
9da89c4f07
Finally gave up on trying to inject YouTube 360° Metadata into Videos and removed respective Checkbox in GuiRenderSettings
2015-06-30 18:10:33 +02:00
johni0702
38b49d8f4c
Play the replay a few ticks in advance of the video to work around entity interpolation
2015-06-30 13:01:14 +02:00
johni0702
a058497727
Fix all warnings
...
Add and make use of Lombok
Remove Mojang API
Remove ZipFileUtils
Remove StreamTools in favor of Apache IOUtils
Keyframe should be abstract all derivatives final
Replace clone in Keyframe with copy
Move some constants from GuiReplaySetttings to GuiConstants
2015-06-29 21:45:37 +02:00
johni0702
f19fc0ab36
Use ffmpeg for video exporting (default webm)
...
Remove monte media lib
2015-06-29 13:02:41 +02:00
johni0702
0babf18560
Fix particle alignment during default rendering by not using ActiveRenderInfo but instead calculating it ourselves
2015-06-28 18:27:33 +02:00
johni0702
18ec3cccc5
Realign all particles towards the camera when rendering 360° frames
2015-06-28 18:13:42 +02:00
CrushedPixel
a15187b3ec
Added Render Success Sound Effect
2015-06-22 13:19:41 +02:00
johni0702
ced45bb66f
Improve cubic to equirectangular conversion by only computing pixel locations once
...
Fix empty try-catch in MinecraftTicker
2015-06-17 10:23:19 +02:00
johni0702
b0f253538c
Fix crash on exit of replay (no longer processing clicks mid-rendering) and OpenGL error warnings
...
Remove MCTimerHandler, instead always install the ReplayTimer
2015-06-16 19:33:48 +02:00
CrushedPixel
3df1bdcfc8
Added PathPreviewRenderer to draw a Preview of the current Camera Path into the World
...
Added KeyframesModifyEvent to be dispatched whenever the ReplayHandler's Keyframe List is changed
Refactored Event package
Reworked Settings GUI
2015-06-15 14:41:20 +02:00
johni0702
edd01b3981
Fix shader compatibility in default renderer
...
Disable shaders in cubic and stereoscopic rendering
2015-06-04 14:21:44 +02:00
johni0702
dd46027a3a
Fix java 1.6 compatibility
2015-06-03 23:30:48 +02:00
johni0702
d171ff4346
Allow custom resolution for all video rendering modes
...
Remove tiled rendering
Choose different rendering strategy based on video size and framebuffer support
Make size of video writer queue configurable via system properties
2015-06-03 21:20:03 +02:00
CrushedPixel
2331634af9
Changed GuiRenderSettings to have "Advanced" settings
...
Added GuiColorPicker and implemented it for Greenscreen color choosing
2015-06-02 02:41:20 +02:00
johni0702
394165cba4
Add render option for sky color (green-screen effect)
2015-06-01 18:50:55 +02:00
CrushedPixel
7aaae3ea5c
Removed the opening of GuiReplaySaving to allow for more general approach
2015-06-01 11:05:22 +02:00
johni0702
779d0841d6
Properly render spectator hand in all custom rendering modes
...
Fix hand clipping with nearby blocks
Immediately show hand/item if a different player is spectated
2015-05-31 17:24:50 +02:00
CrushedPixel
fe036d72d8
Added Spectator Keyframes and handles them properly in both normal and rendered Replay Paths
2015-05-31 13:54:34 +02:00
johni0702
2add3ed518
Allow for simpler repositioning of the preview
2015-05-29 11:34:32 +02:00
johni0702
c44a1dfc14
Always use custom entity renderer for improved performance and consistency
2015-05-26 10:52:34 +02:00