美文网首页Unreal 技术笔记
Unreal UMG源码阅读(4)

Unreal UMG源码阅读(4)

作者: 子夜书案 | 来源:发表于2019-12-09 08:51 被阅读0次

我们来看看\Source\Runtime\SlateCore\Public\Rendering\DrawElements.h,里面的内容比较多,要分成两篇写。我们从头看起。

看看里面的FSlateDataPayload 类,这个类没有SLATECORE_API 修饰,说明它不是一个导出的API,而只是一个内部的功能类。里面的变量还是比较丰富的,

源码

FLinearColor Tint ; 线性颜色 ,FMargin BrushMargin;二维的空间盒,FBox2D BrushUVReginon; 二维的空间盒,下面三个(BrushTiling,BrushMirroring,BrushDrawType)是渲染相关的enum,只不过用一个EnumAsByte给修饰起来了。

FSlateShaderResource* RenderTargetResource;是brush,里面有渲染要用的width,height,shadertype(NativeTexture/*texture resource*/,TexureObject/*utext object resource*/,Material,PostProcess,Invalid).

FSlateFontInfo FontInfo; 字体相关的信息。 TCHAR* ImmutableText;空终止字符串,int32 TextLength;文本长度,包含空终止字符串(matching strlen)。

FShapedGlyphSequencePtr ShapedGlyphSequence;文字相关的信息。后面有分单独的一章来细说。

ESlateBatchDrawFlag BatchFlags;一些批次信息。

// Bezier Spline Data points. E.g. 贝塞尔曲线,注释里的图很有意思,摘下来

//

//      P1 + - - - - + P2                P1 +

//        /          \                    / \

//    P0 *            * P3            P0 *  \  * P3

//                                              \ /

//                                              + P2

FVector2D P0;

FVector2D P1;

FVector2D P2;

FVector2D P3;

这些变量看完,里面的方法没什么好看的,后面看DreawElements.cpp里的实现再细说。

class FSlateDrawElement 是(slate的渲染数据接口) the building block for Slate's rendering interface

相关文章

网友评论

    本文标题:Unreal UMG源码阅读(4)

    本文链接:https://www.haomeiwen.com/subject/kwqrdctx.html