Commit Graph

20 Commits

Author SHA1 Message Date
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Nick Penwarden
4ccf8be305 Mergine engine changes to //UE4/Main @ 2748007
[CL 2748770 by Nick Penwarden in Main branch]
2015-10-30 17:41:13 -04:00
Marc Audy
e5bb9b4d0d Integrate all non-branch Engine/Source changes from //depot/UE4-Orion to //depot/UE4
#lockdown Ben.Marsh
#platformnotify Josh.Adams

[CL 2718236 by Marc Audy in Main branch]
2015-10-06 15:59:09 -04:00
Marcus Wassmer
445543fd51 First pass at new RHITransitionResources API.
Rendertarget transitions are completed and validated on DX11 and PS4 RHI's.

[CL 2700116 by Marcus Wassmer in Main branch]
2015-09-21 20:07:00 -04:00
Marcus Wassmer
11ff098ea0 Bind clear color to rendertargets at creation time.
#codereview Rolando.caloca

[CL 2615534 by Marcus Wassmer in Main branch]
2015-07-09 15:11:37 -04:00
Dan Oconnor
06806b2237 PR #946: Fixing PVS-Studio warning (Contributed by PaulEremeeff)
https://github.com/EpicGames/UnrealEngine/pull/946

I have gone through these changes and verified that whatever behavior change they cause could only be an improvement (generally they just prevent possible access to nullptrs, but there are also some style corrections). A separate changelist is being prepared that includes changes that could unintentionally caues behavior change for the worse.

[CL 2486801 by Dan Oconnor in Main branch]
2015-03-20 17:18:31 -04:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
Graeme Thornton
3ccbe19544 Mobile Preview - Removal of almost all GRHIFeatureLevel usages.
#codereview Nick.Pendwarden

[CL 2315798 by Graeme Thornton in Main branch]
2014-10-01 09:08:51 -04:00
Graeme Thornton
df9dbd5ae3 Continued in-editor mobile preview work
- Removed default shader platform parameter from GetGlobalShaderMap()
 - Added an inline overload of GetGlobalShaderMap() that takes a feature level instead, and translates to the correct shader platform
 - Cached feature level on FSceneView for faster access
 - Cached shader map on FViewInfo for faster access
 - Cached featurelevel/shadermap on rendering composition graph execution context, for faster access

Fixed a couple of crashes when switching feature level dynamically
 - Needed to allow certain shader permutations to be generated if feature level was ES2, but still on a PC platform. (i.e. hitproxy shaders, and basepass shaders used by editor primitives system)

#codereview Nick.Penwarden

[CL 2275937 by Graeme Thornton in Main branch]
2014-08-28 06:22:54 -04:00
Mikolaj Sieluzycki
cfaf45ac58 Header cleanup: Engine module, public headers.
[CL 2265766 by Mikolaj Sieluzycki in Main branch]
2014-08-21 06:03:00 -04:00
Graeme Thornton
bcde0d05c2 Mobile Preview
* More removal of GRHIFeatureLevel and GRHIShaderPlatform

[CL 2262530 by Graeme Thornton in Main branch]
2014-08-19 10:41:34 -04:00
Mike Fricker
034690e8ec Web camera mirroring support for Twitch
- If your web camera requires vertical mirroring, we'll do that automatically now
- For editor streaming, you can now customize horizontal mirroring in the Live Streaming preferences
- For game streaming, you can select whether to mirror horizontally using the new pin on the "Start Broadcasting Game" node

Slate
- Slate brushes now support mirroring (none, horizontal, vertical, or both)

TTP 340769
#codereview matt.kuhlenschmidt

[CL 2220564 by Mike Fricker in Main branch]
2014-07-16 07:43:42 -04:00
Mike Fricker
1aa0321fcc Fxied game broadcasting not starting successfully
[CL 2131184 by Mike Fricker in Main branch]
2014-07-03 13:30:59 -04:00
Mike Fricker
1a24188e92 Live Streaming improvements
- New API for querying a list of existing live stream URLs for any game
- New "QueryLiveStreams" Blueprint node in the "Live Streaming" category (latent)
- Initial API support for sending and receiving online chat messages (no blueprint support yet)
- Fixed broadcasting console commands not unregistered when module is unloaded
- Various code clean-ups

[CL 2124665 by Mike Fricker in Main branch]
2014-07-02 11:33:24 -04:00
Gil Gribb
1d50eae0de UE4 - rework RHI user-facing APIs to be safer and incorporate the desired sematics
[CL 2119499 by Gil Gribb in Main branch]
2014-06-27 11:07:13 -04:00
Mike Fricker
feae75592a Fixed monolithic games not compiling (CIS)
[CL 2115506 by Mike Fricker in Main branch]
2014-06-24 13:47:05 -04:00
Mike Fricker
387280333f Work in progress: Live streaming support for editor and games
This commit adds the framework APIs, editor and rendering features needed to support live streaming.  Along with this, we're working on a new plugin that adds Twitch.tv support (waiting for legal approval to commit.)

- Game live streaming
       - Allows general support for live internet streaming of game video and audio
       - Web cam video feed can be overlaid onto game viewports automatically
       - New 'Broadcast' Blueprint function library allows you to easily start broadcasting from your game
       - New IGameLiveStreaming API that allows you to start broadcasting through C++

- Editor live streaming
       - The editor UI now displays a "broadcast" button automatically when a live streaming service is available
       - Broadcasting of all desktop editor windows is supported (configured in preferences)
       - If you have a web cam, video will be displayed automatically while broadcasting in a new editor window
       - New "Live Streaming" editor preference tab with many new settings for configuring broadcasting
       - New IEditorLiveStreaming API that lets you control editor broadcasting directly, if needed

- Added new 'Broadcast.Start' and 'Broadcast.Stop' console commands
       - These allow you to easily test live streaming in games without writing UI code
       - Built-in help is available for these new commands

- To implement a live streaming plugin:
       - Inherit from the new ILiveStreamingService interface
       - Register your "LiveStreaming" feature with the IModularFeatures system

- Other changes:
      - Eliminated broken screen quad drawing functions; replaced with publicly-exposed DrawRectangle()
      - Slate: Eliminated legacy code for 'marking windows as drawn' (not used anymore)
      - Slate: Added Slate rendering callback to find out when a frame buffer is ready to be presented

[CL 2115377 by Mike Fricker in Main branch]
2014-06-24 12:11:51 -04:00