[Metaballs] Fallout from changes to MetaballsKit
This commit is contained in:
parent
48365abee3
commit
1f2469f686
3 changed files with 12 additions and 9 deletions
|
@ -15,7 +15,7 @@ enum RendererError: Error {
|
|||
}
|
||||
|
||||
protocol RendererDelegate {
|
||||
var renderSize: CGSize { get set }
|
||||
var renderSize: Size { get set }
|
||||
var field: Field { get }
|
||||
var metalView: MTKView { get }
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ class Renderer: NSObject, MTKViewDelegate {
|
|||
/// MARK: - MTKViewDelegate
|
||||
|
||||
func mtkView(_ view: MTKView, drawableSizeWillChange size: CGSize) {
|
||||
delegate.renderSize = size
|
||||
delegate.renderSize = Size(size: size)
|
||||
}
|
||||
|
||||
func draw(in view: MTKView) {
|
||||
|
|
|
@ -24,7 +24,11 @@ typedef struct {
|
|||
float2 textureCoordinate;
|
||||
} RasterizerData;
|
||||
|
||||
typedef int3 Parameters;
|
||||
typedef struct {
|
||||
short2 size;
|
||||
ushort numberOfBalls;
|
||||
} Parameters;
|
||||
|
||||
typedef float3 Ball;
|
||||
|
||||
vertex RasterizerData
|
||||
|
@ -45,8 +49,7 @@ sampleToColorShader(RasterizerData in [[stage_in]],
|
|||
constant Parameters& parameters [[buffer(0)]],
|
||||
constant Ball* balls [[buffer(1)]])
|
||||
{
|
||||
const uint numberOfBalls = parameters.z;
|
||||
const float sample = sampleAtPoint(in.position.xy, balls, numberOfBalls);
|
||||
const float sample = sampleAtPoint(in.position.xy, balls, parameters.numberOfBalls);
|
||||
|
||||
const float target = 1.0;
|
||||
// const float variange = 0.08;
|
||||
|
@ -56,7 +59,7 @@ sampleToColorShader(RasterizerData in [[stage_in]],
|
|||
if (sample > target) {
|
||||
const float3 left = float3(0.50, 0.79, 1.00);
|
||||
const float3 right = float3(0.88, 0.50, 1.00);
|
||||
const float blend = in.position.x / parameters.x;
|
||||
const float blend = in.position.x / parameters.size.x;
|
||||
const float invBlend = 1.0 - blend;
|
||||
out = float4((blend * left.x + invBlend * right.x) / 2.0, (blend * left.y + invBlend * right.y) / 2.0, (blend * left.z + invBlend * right.z) / 2.0, 1.0);
|
||||
} else {
|
||||
|
|
|
@ -11,9 +11,9 @@ import MetalKit
|
|||
import MetaballsKit
|
||||
|
||||
class ViewController: NSViewController, RendererDelegate {
|
||||
internal var field = Field(size: CGSize()) {
|
||||
internal var field = Field(size: Size()) {
|
||||
didSet {
|
||||
field.size = metalView.drawableSize
|
||||
field.size = Size(size: metalView.drawableSize)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ class ViewController: NSViewController, RendererDelegate {
|
|||
|
||||
// MARK: - RendererDelegate
|
||||
|
||||
var renderSize: CGSize {
|
||||
var renderSize: Size {
|
||||
get {
|
||||
return field.size
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue