Commit Graph

48 Commits

Author SHA1 Message Date
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
johni0702
bca8aad98b Add preview to default frame renderer 2015-05-26 10:46:33 +02:00
johni0702
c7d974b24d Use ASM instead of inheritance to override methods in RenderGlobal 2015-05-25 13:13:21 +02:00
johni0702
538e95ad95 Set name of unnamed threads 2015-05-24 15:18:41 +02:00
johni0702
7d9b92423d Fix entities not being rendered in the first frame 2015-05-24 13:45:28 +02:00
johni0702
18f22f57d0 Rework rendering
Adds default, stereoscopic, tiling, cubic and equirectangular frame rendering
2015-05-23 14:58:34 +02:00
CrushedPixel
e8320ebd0f Added Keyframe Repository, which is stored in Replay File itself and allows Camera Path Presets to be saved and loaded 2015-05-01 23:20:16 +02:00
CrushedPixel
79be2bd0d5 Started localizing the Chat Messages and GUI 2015-04-26 01:47:27 +02:00
CrushedPixel
0003f040ed Refactored and reformatted code to use less static variables 2015-04-23 14:09:54 +02:00
Marius Metzger
df183cd5a6 Updated build.gradle to use local distributions of Replay Studio instead of mvn repo (which didn't work on Mac)
Made Screenshots work on Windows File Systems (only worked on UNIX before)
Dried Screenshot ZIP Code
2015-04-13 15:02:20 +02:00
Marius Metzger
352fcbde4e Freed mouse during rendering process
Made replay_recordings and replay_videos folder customizable through config file (not recommended)
2015-04-06 19:15:55 +02:00
Marius Metzger
e4d282bffe Added Option to force load all chunks when rendering
Rewrote a lot of the Settings code
Started destroying the ReplayProcess, gonna fix that ASAP
2015-04-06 11:00:32 +02:00
Marius Metzger
e7c2a462f3 Significantly improved the performance of video rendering by using the magic of multithreading 2015-04-05 02:10:44 +02:00
Marius Metzger
82160b68d4 Made Replay Settings actually persist over the course of two Minecraft sessions.
Started breaking video rendering. Time to put it back together.
2015-04-05 00:41:49 +02:00
Marius Metzger
11e26e0129 Updated build.gradle to automatically build fat jars with the dependencies in the /libs folder. This utilizes the shade.sh shell script. Use ./gradlew without explicitely invoking the build task, as this will automatically build a fat jar.
Sorry for this painful commit, but git somehow f'd up and sees changes in files where there aren't any.
2015-03-21 17:05:53 +01:00
Marius Metzger
03f6ba1ade Added Video Export feature with according Options in the Options Menu
Fixed Linear Interpolation
2015-02-08 12:40:37 +01:00