Static | ZeroBOX

PE Compile Time

2104-06-09 21:35:18

PE Imphash

f34d5f2d4577ed6d9ceec516c1f5a744

Sections

Name Virtual Address Virtual Size Size of Raw Data Entropy
.text 0x00002000 0x000d903c 0x000d9200 7.66961208385
.rsrc 0x000dc000 0x000047cc 0x00004800 7.83691318933
.reloc 0x000e2000 0x0000000c 0x00000200 0.101910425663

Resources

Name Offset Size Language Sub-language File type
RT_ICON 0x000dc0c8 0x0000434b LANG_NEUTRAL SUBLANG_NEUTRAL PNG image data, 256 x 256, 8-bit/color RGBA, non-interlaced
RT_GROUP_ICON 0x000e0424 0x00000014 LANG_NEUTRAL SUBLANG_NEUTRAL data
RT_VERSION 0x000e0448 0x00000380 LANG_NEUTRAL SUBLANG_NEUTRAL data

Imports

Library mscoree.dll:
0x402000 _CorExeMain

!This program cannot be run in DOS mode.
`.rsrc
@.reloc
#333333
k[iZXk
k[iZYk"
"fff?}
#333333
#333333
#333333
FFsI
FFsI
FFsI
#a2U0*
FFsI
FFsI
FFsI
#ffffff
?#ffffff
?#ffffff
?#333333
?#333333
#333333
?#333333
#333333
?#333333
?#333333
?#333333
#ffffff
"333?Z
?#333333
el#ffffff
el#333333
ZX*f(|
#ffffff
#ffffff
#333333
#ffffff
#ffffff
#333333
#333333
zt?ZY}
zt?ZX}
@Y[lXY}
@Y[lX}
^.D+R
v4.0.30319
#Strings
<>c__DisplayClass10_0
<>c__DisplayClass2_0
<>9__17_0
<AncientScrying>b__17_0
<>9__18_0
<RuneTranslation>b__18_0
<HasParsed>b__0
<GetMetaValue>b__0
get_Scan0
IComparable`1
IEnumerable`1
IOrderedEnumerable`1
IEquatable`1
Predicate`1
Stack`1
ReadOnlyCollection`1
List`1
Uniform1
Corner1
__StaticArrayInitTypeSize=12
System.IConvertible.ToUInt32
System.IConvertible.ToInt32
Func`2
KeyValuePair`2
SortedDictionary`2
DisplayProgramId2
TexCoord2
Uniform2
Corner2
PolynomialParser2
polynomialParser2
Vector2
Vertex2
Color3
Vector3
Vertex3
System.IConvertible.ToUInt64
System.IConvertible.ToInt64
Uniform4
Color4
Vector4
UniformMatrix4
matrix4
320D1031FE20137C599CBC1E9FF7182619211765FDB64FC1D7EDFA31D74FC765
43C9C20872F5A14A61B49963287137E99C082849B0D88912E91E1A694886F3C5
__StaticArrayInitTypeSize=16
System.IConvertible.ToUInt16
System.IConvertible.ToInt16
get_UTF8
2FAECC10EBDFED1D5EE1079996E6A2446D96367F8F2A480A69359AB6A52A9CE9
<Module>
<PrivateImplementationDetails>
colorTexB
DerivativeC
PolynomialConstantsDerC
TexImage2D
TextureStorage2D
FramebufferTexture2D
System.Drawing.Drawing2D
camera3D
get_SizeWE
RectangleF
PointF
colorTexG
OpenTK
OpenTK.Graphics.OpenGL
System.IO
colorTexR
get_SizeNS
CameraAngleX
CameraAngleY
DerivativeCZ
DerivativesZ
value__
UpdateJulia
QuaternionJulia
RepositionJulia
SetLookAtCamera
SetCamera
GetBufferSubData
LocationData
BitmapData
MaxBufferData
get_KeyData
BitmapMetadata
get_Delta
FromArgb
mscorlib
System.Collections.Generic
Microsoft.VisualBasic
BlendFunc
StencilFunc
Vector2d
Camera3d
Prepare3d
Render3d
Vector3d
get_Id
set_Id
ComputeProgramId
RaymarchProgramId
DisplayProgramId
BackCopyProgramId
SetFunctionId
currentFunctionId
computeShaderId
currentLocationOffsetId
CompassRad
Form1_Load
get_Red
ZoomSpeed
AnimationSpeed
RotationSpeed
SmoothMaxSpeed
CursorDragged
Form1_SizeChanged
PositionChanged
ScaleSliderChanged
JuliaCursorChanged
cursorChanged
Finished
AutoZoomClicked
ExampleButtonClicked
DistanceColorButtonClicked
ScreenshotButtonClicked
ColorMenuButtonClicked
CompassClicked
MainWindowClicked
set_Enabled
DistanceEstimateEnabled
Prepared
get_LengthSquared
HasParsed
IsFocused
JuliaMenuUpdated
MainComputed
Synchronized
IsRootValid
DrawCuboid
cursorTypeOld
<canUseBuddhaMode>k__BackingField
<MeshActive>k__BackingField
<WaveFormat>k__BackingField
MouseHold
CompassHold
GetScreenFromWorld
SmoothEnd
CompassEnd
get_Hand
Append
TokenKind
DrawFrameAndBackground
method
FindPeriod
UpdatePeriod
MaxPeriod
period
Clipboard
ProgramInterface
Replace
CameraDistance
MinDistance
ButtonDistance
SmoothMaxDistance
defaultInstance
instance
min_precedence
get_operator_precedence
Divergence
ShaderSource
fragmentSource
vertexSource
Divide
System.IConvertible.GetTypeCode
GetHashCode
FramebufferErrorCode
get_canUseBuddhaMode
set_canUseBuddhaMode
set_AutoScaleMode
FileMode
ImageLockMode
BeginMode
GraphicsMode
InsertMode
MatrixMode
IsHoldingNode
PolynomialNode
AddFromTree
FromImage
SetImage
Average
ErrorMessage
CurrentStage
AddRange
get_Orange
EndInvoke
BeginInvoke
StrippleScale
VolumeScale
CreateScale
GetColorScale
OrbitScale
FrequencyScale
_scale
AddVariable
RemoveVariable
DependentVariable
dependentVariable
variable
Enable
IComparable
Enumerable
Disable
IDisposable
IFormattable
Visible
IConvertible
System.IConvertible.ToDouble
IsHoldingCircle
IsDraggingCircle
FillCircle
DrawCircle
RuntimeFieldHandle
RuntimeTypeHandle
HoldingHandle
GetTypeFromHandle
ImageTexHandle
ReverseTexHandle
IntermediateTexHandle
UseOldAngle
CompassResetAngle
InsideTriangle
IsMouseInsideRectangle
System.IConvertible.ToSingle
FromFile
Console
CurrentFinalSample
currentExample
LineStipple
DockStyle
get_Name
set_Name
TextureParameterName
GetProgramParameterName
BitmapFrame
DrawFrame
get_Lime
GetSmoothedTime
System.IConvertible.ToDateTime
TotalSmoothTime
TotalTime
ZoomInTime
CurrentTime
ZoomOutTime
MaxTime
spellTome
Volume
consume
get_One
get_IsOne
get_MinusOne
WriteLine
Combine
SmoothDeadZone
set_Type
NodeType
ChangeType
ValueType
PrimitiveType
PixelType
conversionType
OperationType
System.IConvertible.ToType
OpType
RotateFlipType
opType
ShaderType
VertexAttribPointerType
VertexPointerType
get_cursorType
set_cursorType
GetCussorType
DrawElementsType
operator_type
FileShare
Software
System.Core
PresentationCore
get_Culture
set_Culture
resourceCulture
BindTexture
UpdateBackgroundTexture
updateBackgroundTexture
BindImageTexture
DeleteTexture
ActiveTexture
GenTexture
texture
BindBufferBase
ApplicationSettingsBase
MainRelease
Dispose
TryParse
UpdateMouse
AutoZoomDrawLate
MainDrawLate
ExampleButtonDrawLate
ScreenshotButtonDrawLate
BuddhabrotProgressbarDrawLate
SoundContainerDrawLate
CompassDrawLate
sampleRate
FinalDotUpdate
MulticastDelegate
CubicInterpolate
Translate
DistEstimate
DebuggerBrowsableState
EditorBrowsableState
EnableClientState
DisableClientState
set_WindowState
FormWindowState
Rotate
cursorTypePrivate
ParseComplete
get_White
PrepareWrite
RotatePalette
ColorPalette
SortPalette
STAThreadAttribute
CompilerGeneratedAttribute
GuidAttribute
GeneratedCodeAttribute
UnverifiableCodeAttribute
DebuggerNonUserCodeAttribute
DebuggableAttribute
DebuggerBrowsableAttribute
EditorBrowsableAttribute
ComVisibleAttribute
AssemblyTitleAttribute
AssemblyTrademarkAttribute
TargetFrameworkAttribute
ExtensionAttribute
AssemblyFileVersionAttribute
SecurityPermissionAttribute
AssemblyConfigurationAttribute
AssemblyDescriptionAttribute
CompilationRelaxationsAttribute
AssemblyProductAttribute
AssemblyCopyrightAttribute
AssemblyCompanyAttribute
RuntimeCompatibilityAttribute
get_BuddhaCompute
PreCompute
DispatchCompute
FinishCompute
System.IConvertible.ToSByte
System.IConvertible.ToByte
get_Blue
get_DarkBlue
get_Value
set_Value
GetMetaValue
SetMetaValue
_unscaledValue
MaximumZoomValue
FractionalIterationSliderValue
StartValue
NewValue
newValue
parse_value
TrySave
NAudio.Wave
PrepareRecursive
UpdateRecursive
UpdateCurrentElementRecursive
ShowRecursive
SecondDerivative
ComputeDerivative
buddhaActive
JuliaActive
SoundActive
get_MeshActive
set_MeshActive
SetMeshActive
ButtonsActive
CompassActive
OffsetActive
JuliaOrbitActive
ScreenshotActive
MenuActive
Remove
khqC.exe
get_Size
ImageSize
HandleRectangleSize
FrameSize
CurrentPaletteSize
MaxPaletteSize
MeshSize
ButtonSize
StepSize
GroupSize
BufferSize
CursorSize
set_ClientSize
JuliaWindowSize
FractalWindowSize
MinibrotWindowSize
JuliaSizeBoxSize
VariableDisplaySize
Normalize
Tokenize
Resize
fontsize
IndexOf
QuaternionJuliaCutoff
MouseDrag
MainDrag
JuliaSizeBoxDrag
get_RaymarchFrag
get_GenerateShaderFrag
get_DisplayFrag
get_BackCopyFrag
Spacing
spacing
Padding
LateBinding
ShaderStorageBlockBinding
Encoding
System.Windows.Media.Imaging
System.Drawing.Imaging
IsDragging
Working
Ceiling
System.Runtime.Versioning
ElderScrollDeciphering
DistanceEstimateColoring
ToBase64String
functionString
System.IConvertible.ToString
GetString
InputString
DrawString
Substring
disposing
PrepareFromExisting
System.Drawing
Playing
AncientScrying
GetProgramInfoLog
GetShaderInfoLog
Stopwatch
stopwatch
GenerateMesh
ExtendTimerFinish
TeleportTimerFinish
FractalMath
fractalMath
programPath
get_StartupPath
get_Width
set_Width
NodeWidth
LineWidth
mWidth
SideButtonWidth
TextDisplayWidth
get_Length
GetPermutationCycleLength
HandleLength
GetLength
FinalDotStrength
CenterDotStrength
get_Month
AsyncCallback
callback
get_Black
RelativeMousePosStack
T_Tick
add_Tick
MaxComputationsPerTick
ExtendTimerTick
TeleportTimerTick
JuliaClick
Julia3dClick
JuliaPeriodClick
BuddhaToggleClick
MeshToggleClick
MouseClick
JuliaCutoffClick
SoundButtonClick
CursorClick
JuliaOffsetClick
JuliaOrbitClick
FractalWindowClick
MainWindowClick
set_Dock
DepthMask
StencilMask
ClearBufferMask
ColorMask
ArrowVertical
DifferencePolynomial
GetCoefficientArrayFromPolynomial
polynomial
Factorial
BigDecimal
FromDecimal
System.IConvertible.ToDecimal
Original
original
DrawExternal
ArrowHorizontal
op_GreaterThanOrEqual
op_LessThanOrEqual
set_Interval
ObjectLabel
System.Collections.ObjectModel
System.ComponentModel
Form1_MouseWheel
add_MouseWheel
RecurseLevel
MaxRecursionLevel
GetPixel
get_Nkhl
Flowbail
ClearStencil
PrepareAll
ComputeAll
ShowAll
LateCall
UpdateScroll
arcaneSymbol
OpenTK.GLControl
ContainerControl
FileStream
TokenStream
UseProgram
ValidateProgram
CreateProgram
GenreateComputeProgram
SetupComputeProgram
GenerateFragProgram
SetupFragProgram
LinkProgram
GetProgram
get_Item
set_Item
SetPropertyItem
JuliaCursorSystem
MainCursorSystem
Random
PrepareForStaticZoom
GetZoom
get_Bottom
resourceMan
System.IConvertible.ToBoolean
op_GreaterThan
op_LessThan
get_Cyan
set_Len
get_Green
GetWorldFromScreen
get_IsEven
get_Sign
set_Margin
set_Icon
GetRootsInRegion
op_Division
ParseExpression
parse_expression
Application
set_Location
EndLocation
GetUniformLocation
CurrentLocation
StartLocation
op_UnaryNegation
RuneTranslation
CreateTranslation
MysticDivination
GetOperation
AverageIteration
System.Configuration
SliderOrientation
System.Globalization
System.Runtime.Serialization
SecurityAction
EnableInteraction
op_Subtraction
SetOrthographicProjection
SetPerspectiveProjection
System.Reflection
KeyCollection
ScrollDirection
StencilFunction
op_Addition
CameraPosition
CursorWorldPosition
MainCirclePosition
get_MousePosition
GetColorFromPosition
ClampedCursorPosition
OldCursorPosition
TargetCursorPosition
OrbitPosition
FinalDotPosition
position
DoingSmoothMotion
AllowSmoothMotion
BitmapCacheOption
NotImplementedException
ArgumentOutOfRangeException
ArgumentException
InvalidCastException
PartialRuneInscription
FullRuneInscription
MeshResolution
WindowResolution
JuliaButton
Julia3dButton
SoundButton
JuliaPeriodButton
BuddhaToggleButton
MeshToggleButton
ExampleButton
Julia3dCutoffButton
DistanceColoringButton
AutoZoomButton
JuliaOffsetButton
JuliaOrbitButton
ScreenshotButton
ColorMenuButton
PrevButton
MouseDown
Form1_KeyDown
CompareTo
MethodInfo
CultureInfo
MemberInfo
MinibrotInfo
DirectoryInfo
NAudio
get_Zero
get_IsZero
get_IsPowerOfTwo
StencilOp
MouseUp
EnableCap
ArrayCap
sourceBitmap
SaveBitmap
RenderToBitmap
bitmap
RotateFlip
DistanceEstimateColoringLerp
GetPositionLerp
System.Linq
BuddhabrotProgressbar
get_Year
TypeChar
System.IConvertible.ToChar
InputChar
get_KeyChar
Scalar
scalar
Number
BlockBuddhaShader
CompileShader
CreateShader
get_GenerateShader
ExecuteGenerateShader
AttachShader
get_RaymarchShader
GetShader
get_TestShader
PrepareDrawShader
get_DisplayShader
ColorScaleSlider
SoundVolumeSlider
DotStrengthSlider
IterationSlider
SoundFrequencySlider
ISampleProvider
FractalWaveProvider
waveProvider
IFormatProvider
formatProvider
provider
StringBuilder
screenshotFolder
Sender
sender
MinibrotFinder
Remainder
PngBitmapDecoder
CurrentMinibrotOrder
BindBuffer
GenerateFrameBuffer
DeleteBuffer
RefillBuffer
GenBuffer
ReverseShaderBuffer
CreateShaderBuffer
IntermediateShaderBuffer
GenerateShaderBuffer
IndexBuffer
VertexBuffer
EmptyBuffer
BindFramebuffer
ReverseFramebuffer
IntermediateFramebuffer
GenFramebuffer
get_ResourceManager
ComponentResourceManager
BigInteger
ObjectLabelIdentifier
MemoryBarrier
MouseDragHandler
GuiHandler
MouseScrollHandler
MouseHoverHandler
MouseEventHandler
SliderEventHandler
System.CodeDom.Compiler
SetupBuddhaController
buddhaController
juliaController
FileController
fileController
AutoZoomController
zoomController
mainController
BuddhaShaderController
ParameterController
parameterController
CursorController
parentController
controller
ExtendTimer
ResizeTimer
PolynomialAnimationTimer
ErrorTimer
TextCursorTimer
BufferExtractTimer
CompassResetTimer
TeleportTimer
IContainer
SoundContainer
ParameterContainer
PolynomialParser
polynomialParser
parser
ShaderParameter
TexParameter
CreateInPlaceBitmapMetadataWriter
CameraCenter
CreateOrthographicOffCenter
VertexAttribPointer
VertexPointer
BitConverter
MouseHover
LeaveHover
ColorMenuButtonHover
IntegerLogPower
IWavePlayer
Beizer
Author
BackgroundColor
HandleColor
FrameColor
SetSlidersFromColor
LerpColor
InteriorColor
set_Cursor
formCursor
ClampCursor
ShowHoverCursor
SetCursor
GetEnumerator
SoundGenerator
soundGenerator
Operator
RectangleScaleFactor
BlendingFactor
EndSmoothingFactor
ZoomSmoothFactor
PositionSmoothFactor
LogarithmicZoomFactor
GetPermutationFactor
GetPositionFactor
.cctor
CameraVector
cameraVector
TranslateVector
ColorEditor
LineSpaceArr
IntPtr
OpenTK.Graphics
System.Numerics
System.Diagnostics
WaveExtensionMethods
GetMethods
CountingBackwards
Keywords
Indices
Vertices
System.Runtime.InteropServices
Microsoft.VisualBasic.CompilerServices
System.Runtime.CompilerServices
FormatterServices
System.Resources
AmazingMandelbrot.Form1.resources
AmazingMandelbrot.Properties.Resources.resources
DebuggingModes
Matches
Brushes
PrepareMatricies
MergeDictionaries
AmazingMandelbrot.Properties
Variables
variables
Examples
EnableVisualStyles
get_Frames
DrawLines
magicRunes
GetExportedTypes
CursorTypes
GetBytes
GetBufferValues
SetBufferValues
ParameterValues
MemoryBarrierFlags
GraphicsContextFlags
Settings
MouseEventArgs
KeyPressEventArgs
KeyEventArgs
<>4__this
ClosingParenthesis
Equals
ReadPixels
get_PropertyItems
System.Windows.Forms
Tokens
tokens
Contains
set_AutoScaleDimensions
Extensions
System.Security.Permissions
exampleLocations
ExtraIterations
RawIterations
maxIncantations
UpdatePositions
PalettePositions
UpdateButtonPositions
BitmapCreateOptions
get_MouseButtons
AllButtons
MenuButtons
buttons
JuliaPos
CameraPos
DeltaPos
UpdateCursorWorldPos
TrianglePos
RectanglePos
GetRelativeMousePos
StartMousePos
CursorPos
OffsetPos
StartPos
CircleSteps
get_Chars
ColorSliders
GenBuffers
SwapBuffers
ColorMultipliers
parameterContainers
RuntimeHelpers
SetJuliaParameters
UpdateParameters
Cursors
RotationCompass
FileAccess
TextureAccess
Success
Form1_KeyPress
Address
Progress
ExampleLocationStructs
PreviousHeights
LockBits
UnlockBits
GetBits
PolynomialConstants
GetSecondDerivativeCoefficients
GetDerivativeCoefficients
GetCoefficients
SetCoefficients
ChildElements
DrawElements
AmazingMandelbrot.GuiComponents
components
CaptureEvents
DrawnPoints
EnableMinibrots
RecurseMinibrots
AllMinibrots
GetMinibrots
Exists
get_ContainsFocus
InnerCircleRadius
MainCircleInnerRadius
MainCircleOuterRadius
ButtonStatus
CheckFramebufferStatus
UpdateFractalWindows
fractalWindows
ExampleLocationWindows
MinibrotWindows
AddDays
GenVertexArrays
get_Keys
RemoveAt
LookAt
ElementAt
Concat
get_WaveFormat
set_WaveFormat
CreateIeeeFloatWaveFormat
StringFormat
SizedInternalFormat
PixelInternalFormat
get_PixelFormat
ColorFormat
format
Subtract
HandleRect
TextRect
GetUninitializedObject
GetObject
object
Subject
project
aspect
Distinct
DataStruct
ExampleFunctionStruct
ElementDrawStruct
BufferRangeTarget
TextureTarget
BufferTarget
FramebufferTarget
target
BuddhaReset
LineStrippleOffset
LocalRelativeMouseOffset
DrawingLayerOffset
ColorOffset
offset
operator_is_right_to_left
PixelShift
get_Right
get_Height
set_Height
mHeight
height
PeriodHighlight
Copyright
op_Implicit
op_Explicit
TextureUnit
get_Default
SetCompatibleTextRenderingDefault
FirstOrDefault
IAsyncResult
result
PointToClient
GuiElement
CursorElement
PreviousElement
UpdateCurrentElement
element
Increment
FramebufferAttachment
Comment
set_Alignment
set_LineAlignment
StringAlignment
InitializeComponent
GraphComponent
ExampleLocationComponent
EmptyComponent
exponent
set_Parent
get_Current
MakeCurrent
FinishedEvent
MenuUpdatedEvent
HoverEndEvent
parseEvent
DragEvent
FinishEvent
ClickEvent
ScrollEvent
PositionEvent
MouseDownEvent
MouseUpEvent
SliderEvent
TimerEvent
HoverEvent
ExternalDrawEvent
BufferUsageHint
set_TextRenderingHint
EndPoint
AveragePoint
IterationPoint
RotationPoint
Startpoint
get_Count
IterationCount
MinimumMinibrotAmount
PerpDot
FourierPlot
AmazingMandelbrot
SmoothStart
CompassStart
get_DisplayVert
get_BackCopyVert
Insert
Convert
Viewport
ClampDist
PolynomialList
AddNodeToList
ElementDrawList
WaveOut
waveOut
SuspendLayout
ResumeLayout
MoveNext
System.Drawing.Text
System.Text
set_Text
DrawCenteredText
EnableMenu
DisableMenu
MousePosPrev
PrepareDraw
JuliaResizeLateDraw
SoundButtonLateDraw
CursorLateDraw
EarlyDraw
StartNew
CreatePerspectiveFieldOfView
get_Now
JuliaWindow
linkedFractalWindow
MainFractalWindow
FunctionFractalWindow
fractalWindow
GetDataFromWindow
MainWindow
mainWindow
GetFractalFlow
FollowFractalFlow
get_Yellow
CompassResetTimerMax
GenerateTex
ColorTex
GenerateIntTex
SelectedIndex
GetProgramResourceIndex
GetVectorFromIndex
CurrentComputationIndex
BufferIndex
StartIndex
Complex
LoadMatrix
PushMatrix
modelMatrix
projectionMatrix
PopMatrix
ProjectMatrix
modelViewMatrix
JuliaSizeBox
OrderBy
get_Day
get_Today
variableDisplay
polynomialDisplay
DrawIterationDisplay
numberDisplay
UpdatePolynomialTextDisplay
get_Gray
get_LightSlateGray
get_LightGray
EnableVertexAttribArray
FillBaseArray
ToByteArray
InitializeArray
ToArray
ToCharArray
OldCoefficientArray
DifferenceCoefficientArray
MainCoefficientArray
BindVertexArray
get_Key
TypeKey
ContainsKey
InputKey
get_Assembly
op_Multiply
SelectMany
RefillBufferNoCopy
CopyDictionary
SetQuery
CreateDirectory
runeCapacity
op_Equality
op_Inequality
System.Security
FinalSampleDensity
RecursionSampleDensity
LoadIdentity
MetaProperty
property
333333
System.Security.Permissions.SecurityPermissionAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
SkipVerification
WrapNonExceptionThrows
WinRAR archiver
WinRAR
* Copyright
Alexander Roshal 1993-2014
WinRAR.exe
$75a7768b-2064-49e8-84ea-8e064c84ba8f
7.5.5.4
.NETFramework,Version=v4.5
FrameworkDisplayName
.NET Framework 4.5
3System.Resources.Tools.StronglyTypedResourceBuilder
16.0.0.0
KMicrosoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator
16.0.0.0
lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet
fSystem.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3ahSystem.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPADPBj
QSystem.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing.Icon
IconData
IconSize
System.Drawing.Size
System.Drawing.Size
height
CPHYxJ
Ya($vm
:n%=&S
Vz-$$D
zl~f7D
w'\#)BP
iEFjNB\
JhjD+!R
|7a3Rx
;9G7A!
igc,]|j
IEuu ?
2c$s8i
QipD#u
Z?|\je
)AvtmA
uMK|7!K"3"3
^CSz8
s&PqC9
Cp&dFaJ
*<=Fa|!}8O
U8^LGZv
~@k(Bs}
QSystem.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing.Bitmap
lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet
hSystem.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aPADPAD
#version 430
struct DataStruct
double IterationCount;
double MinDistance;
double DistEstimate;
int Period;
int RawIter;
dvec2 EndPoint;
layout(std140) buffer DataBlock
DataStruct Data[];
layout(std140) buffer NewDataBlock
DataStruct NewData[];
uniform sampler2D sourceTex;
in vec2 fPosition;
out vec4 fragColor;
uniform ivec2 resolution;
uniform mat4 projectionMatrix;
void main()
ivec2 storePos = ivec2(fPosition);
int index = storePos.y*resolution.x+storePos.x;
NewData[index]=Data[index];
vec4 Col = texelFetch(sourceTex,ivec2(fPosition.x,fPosition.y),0);
fragColor = vec4(Col.xyz,1);
//fragColor = texelFetch(sourceTex,ivec2(fPosition.x,fPosition.y),0);
#version 400
in vec3 vPosition;
uniform mat4 projectionMatrix;
out vec2 fPosition;
uniform ivec2 resolution;
void main()
float FullHeight = -2/projectionMatrix[1].y;
vec2 Offset = (vec2(-1,1)-projectionMatrix[3].xy)/vec2(projectionMatrix[0].x,projectionMatrix[1].y);
vec4 P = projectionMatrix*vec4(vPosition.x+Offset.x,vPosition.y+Offset.y,vPosition.z,1);
P.y =-P.y;
gl_Position = P;
fPosition=vec2(vPosition.x,vPosition.y);
#version 430
layout (local_size_x = 100, local_size_y = 1,local_size_z = 1) in;
//layout(r32i) uniform coherent iimage2D TexR;
//void main() {
imageAtomicAdd(TexR,ivec2(1,1),5);
layout(std430,binding = 50) buffer Block
double Values[];
//int Permutation[];
layout(r32i) uniform coherent iimage2D TexR;
layout(r32i) uniform coherent iimage2D TexG;
layout(r32i) uniform coherent iimage2D TexB;
uniform double Zoom=2;
uniform dvec2 CameraPos=vec2(0);
uniform vec2 resolution;
uniform int CurrentIndex;
uniform int Stage;
uniform int FinalSampleDensity;
uniform int CurrentFinalSample;
uniform double StepSize;
uniform dvec2 RectanglePos;
uniform dvec2 RectangleSize;
const int IterBlue=40;//40
const int IterGreen=400;//400
const int IterRed=1000;
const int MaxIter=1000;
const int MinIter=40;
const vec3 PresicionScale=vec3(1/log(IterRed),1/log(IterGreen),1/log(IterBlue))*1000;
uniform int MaxBufferData;
uniform int PermutationFactor;
uniform int PermutationCycleLength;
uniform double[64] CoefficientArray;
uniform int ArrayMaxZ;
uniform int ArrayMaxC;
dvec2[8] PolynomialConstants;
uniform double OffsetReal;
uniform double OffsetImag;
dvec2 Mult(dvec2 A,dvec2 B)
return dvec2(A.x*B.x-A.y*B.y,A.x*B.y+A.y*B.x);
dvec2 Compute(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=0;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i];
return NewZ;
int GetPermutationOffset(uint K)
int N = FinalSampleDensity*FinalSampleDensity-1;
K=K%PermutationCycleLength;
int h = PermutationFactor;
for(int i=0;i<K;i++)
h=(h*PermutationFactor)%N;
return h;
void AddToTexture(int L,ivec2 Pos, float Val)
//int a =imageLoad(TexR,Pos).x;
if(L<IterRed)
//imageStore(TexR,Pos,ivec4(imageLoad(TexR,Pos).x+int(Val*PresicionScale.x),0,0,0));
imageAtomicAdd(TexR,Pos,int(Val*PresicionScale.x));
if(L<IterGreen)
//imageStore(TexG,Pos,ivec4(imageLoad(TexR,Pos).x+int(Val*PresicionScale.y),0,0,0));
imageAtomicAdd(TexG,Pos,int(Val*PresicionScale.y));
if(L<IterBlue)
//imageStore(TexB,Pos,ivec4(imageLoad(TexB,Pos).x+int(Val*PresicionScale.z),0,0,0));
imageAtomicAdd(TexB,Pos,int(Val*PresicionScale.z));
dvec2 GetScreenFromWorld(dvec2 Complex)
dvec2 position = (Complex - CameraPos +dvec2(Zoom,Zoom)) / (2 * Zoom);
return position * resolution.x - dvec2(0, (resolution.x - resolution.y) / 2);
void DebugDraw(ivec3 col,ivec2 p)
int s = 12000;
for(int i =0;i<1;i++)
for(int j =0;j<1;j++)
if(col.x>0)
imageAtomicAdd(TexR,p+ivec2(i,j),s);
if(col.y>0)
imageAtomicAdd(TexG,p+ivec2(i,j),s);
if(col.z>0)
imageAtomicAdd(TexB,p+ivec2(i,j),s);
bool RectangleTest(dvec2 Point)
dvec2 RelPos = abs(Point-RectanglePos);
return RelPos.x<RectangleSize.x && RelPos.y<RectangleSize.y;
void main() {
//imageAtomicAdd(TexR,ivec2(1,1),5);
uint Index =(gl_GlobalInvocationID.x+CurrentIndex);
if(Index>=MaxBufferData)
return;
uint n = 2*Index;
dvec2 C = dvec2(Values[n],Values[n+1]);
if(Values[n]==0&&Values[n+1]==0)
return;
if(Stage>0)
int N = FinalSampleDensity*FinalSampleDensity-1;
//int c = (GetPermutationOffset(Index)*CurrentFinalSample)%N+1;
int c = (int(1)*CurrentFinalSample)%N+1;
double x = StepSize*(c%FinalSampleDensity);
double y = StepSize*(c/FinalSampleDensity);
C+=dvec2(x,y);
//C+=dvec2(0.1,0.1);
for(int i=0;i<ArrayMaxZ;i++)
int k = 2*i;
dvec2 M = dvec2(CoefficientArray[k],CoefficientArray[k+1]);
PolynomialConstants[i] = M;
dvec2 PowerC = dvec2(1,0);
for(int j=1;j<ArrayMaxC;j++)
k = 2*(i+ArrayMaxZ*j);
M = dvec2(CoefficientArray[k],CoefficientArray[k+1]);
PowerC=Mult(PowerC,C);
PolynomialConstants[i]+=Mult(PowerC,M);
dvec2 Z = dvec2(OffsetReal,OffsetImag);
int L;
dvec2[MaxIter] Path;
int E = 0;
int TouchesRectangle = 0;
for(L=0;L<MaxIter;L++)
Z=Compute(Z);
Path[L]=Z;
TouchesRectangle += RectangleTest(Z)?1:0;
if(Z.x*Z.x+Z.y*Z.y>20)
break;
ivec2 P = ivec2(GetScreenFromWorld(C));
//if(Stage==2)
DebugDraw(ivec3(0,1,0),P);
//else if(Stage==1)
DebugDraw(ivec3(0,1,1),P);
//imageAtomicAdd(TexB,P,1500);
//imageAtomicAdd(TexG,P,1500);
//}else{
DebugDraw(ivec3(1,0,0),P);
//imageAtomicAdd(TexR,P,1500);
if(TouchesRectangle>0)
if(L<MaxIter)
for(int i =1;i<L;i++)
vec2 ScreenPos = vec2(GetScreenFromWorld(Path[i]));
int x=int(ScreenPos.x);
float fx = ScreenPos.x-x;
int y=int(ScreenPos.y);
float fy = ScreenPos.y-y;
if(x<resolution.x-1&&y<resolution.y-1&&x>0&&y>0)
AddToTexture(L,ivec2(x,y),((1-fx)*(1-fy)));
AddToTexture(L,ivec2(x+1,y),((fx)*(1-fy)));
AddToTexture(L,ivec2(x,y+1),((1-fx)*(fy)));
AddToTexture(L,ivec2(x+1,y+1),((fx)*(fy)));
if(Stage==0)
Values[n]=Values[n+1]=0;
#version 430
struct DataStruct
double IterationCount;
double MinDistance;
double DistEstimate;
int RawIter;
int Period;
dvec2 EndPoint;
layout(std140) buffer DataBlock
DataStruct Data[];
layout(r32i) uniform coherent iimage2D BuddhaTexR;
layout(r32i) uniform coherent iimage2D BuddhaTexG;
layout(r32i) uniform coherent iimage2D BuddhaTexB;
uniform int BuddhaActive;
uniform int BuddhaReset;
#define Tau 6.28318530718
in vec3 fPosition;
out vec4 fragColor;
uniform ivec2 resolution;
uniform ivec2 outputResolution;
uniform sampler2D sourceTex;
uniform double Zoom;
uniform double CameraReal;
uniform double CameraImag;
uniform int Julia;
uniform double JuliaReal;
uniform double JuliaImag;
uniform vec2 Size;
uniform float ColorOffset;
uniform float ColorScale;
uniform float Time;
const float pi=3.1415926;
uniform double[64] CoefficientArray;
uniform int ArrayMaxZ;
uniform int ArrayMaxC;
uniform int PeriodHighlight;
dvec2[8] PolynomialConstants;
uniform float[32] ColorData;
uniform int PalleteSize;
uniform vec4 InteriorColor;
uniform int QuaternionJulia;
uniform vec2 IterationPoint;
uniform float CenterDotStrength;
uniform float FinalDotStrength;
uniform dvec2 FinalDotPosition;
uniform float DistanceEstimateColoringLerp;
vec3 GetBuddhaColor(ivec2 Pos)
float r = imageLoad(BuddhaTexR,Pos).x;
float g = imageLoad(BuddhaTexG,Pos).x;
float b = imageLoad(BuddhaTexB,Pos).x;
vec3 V = vec3(r,g,b)/100000;//100000
float t = Time*0.2;
//V *= vec3(ColorScale(t),ColorScale(t+2.094),ColorScale(t+4.1887));
return (V.x*vec3(1,0,0))+(V.y*vec3(0,1,0))+(V.z*vec3(0,0,1));
float hueValue(float h)
float a = (2.0 * (h - int(h)) - 1.0);
if (a < 0)
a = -a;
a = 3 * a - 1;
if (a > 1) return 1;
else if (a < 0) return 0;
else return a;
float Lerp(float a,float b,float t)
return a*(1-t)+b*t;
vec3 LerpColor(vec3 a,vec3 b,float t)
return a*(1-t)+b*t;
float Beizer(float t)
return t*t*(3-2*t);
vec3 GetExteriorColor(float t)
int Id1 = PalleteSize - 1;
int Id2 = 0;
while(t> ColorData[Id2*4]&& Id2< PalleteSize)
Id1++;
Id2++;
Id1 = (Id1%PalleteSize);
Id2 = Id2 % PalleteSize;
float LerpParameter = (mod(t- ColorData[Id1*4]+1,1)) /(mod(ColorData[Id2*4]- ColorData[Id1*4]+1,1));
vec3 Color1 = vec3(ColorData[Id1*4+1],ColorData[Id1*4+2],ColorData[Id1*4+3]);
vec3 Color2 = vec3(ColorData[Id2*4+1],ColorData[Id2*4+2],ColorData[Id2*4+3]);
return LerpColor(Color1, Color2, Beizer(LerpParameter));
float GetApproximateDistanceEstimate(ivec2 storePos)
int index = int(storePos.y*resolution.x+storePos.x);
dvec2 Z0 = Data[index].EndPoint;//current pixel
int L = Data[index].RawIter;
dvec2 DC = dvec2(0);
dvec2 DCI = dvec2(0);
DC+=Data[index+1].RawIter==L?Z0-Data[index+1].EndPoint:vec2(0);
DCI+=Data[index+resolution.x].RawIter==L?(Z0-Data[index+resolution.x].EndPoint):vec2(0);
DC-=Data[index-1].RawIter==L?Z0-Data[index-1].EndPoint:vec2(0);
DCI-=Data[index-resolution.x].RawIter==L?(Z0-Data[index-resolution.x].EndPoint):vec2(0);
int amount = 0;
amount +=Data[index+1].RawIter==L?1:0;
amount +=Data[index+resolution.x].RawIter==L?1:0;
amount +=Data[index-1].RawIter==L?1:0;
amount +=Data[index-resolution.x].RawIter==L?1:0;
DC = (DC+dvec2(DCI.y,-DCI.x))/amount;
float r = float(length(Z0));
float dr = float(length(DC));
float Dist = log(0.5*(r*log(r)/dr));
return Dist;
float hueValue2(float h)
return (cos(h*pi*2)+1)/2;
//fancy color by wes
vec3 FancyColor(float h)
h=mod(h,1);
vec3 A = vec3(h*h,h,sqrt(h));
h=2-h;
vec3 B = vec3(h*h,h,sqrt(h));
return min(A,B.zyx);
dvec2 Mult(dvec2 A,dvec2 B)
return dvec2(A.x*B.x-A.y*B.y,A.x*B.y+A.y*B.x);
dvec2 Conjugate(dvec2 Z)
return dvec2(Z.x,-Z.y);
dvec2 Div(dvec2 A,dvec2 B)
return Mult(A,Conjugate(B))/(B.x*B.x+B.y*B.y);
dvec2 Log(dvec2 Z)
return dvec2(log(float(Z.x*Z.x+Z.y*Z.y))/2,atan(float(Z.y),float(Z.x)));
dvec2 Exp(dvec2 Z)
float E = exp(float(Z.x));
return dvec2(E*cos(float(Z.y)),E*sin(float(Z.y)));
dvec2 Pow(dvec2 A,dvec2 B)
return Exp(Mult(B,Log(A)));
dvec2 Sin(dvec2 Z)
return Div(Exp(Mult(Z,dvec2(0,1)))-Exp(Mult(Z,dvec2(0,-1))),dvec2(0,2));
dvec2 Cos(dvec2 Z)
return Div(Exp(Mult(Z,dvec2(0,1)))+Exp(Mult(Z,dvec2(0,-1))),dvec2(2,0));
dvec2 Compute(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=0;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i];
return NewZ;
dvec2 ComputeDerivative(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=1;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i]*i;
return NewZ;
double logd(double a)
const double s=0.000000000001;
double L1 = log(float(a));
double L2 = log(float(a+s));
double Q = mod(a/s,1.0);
return L1*(1-Q)+L2*Q;
float GetLight(ivec2 storePos)
dvec3 Sun = normalize(vec3(-1,-1,0.0));
double HeightScale = 7;
int index = int(storePos.y*resolution.x+storePos.x);
double H1 = HeightScale*Data[index].IterationCount;//current pixel
double H2 = HeightScale*Data[index+1].IterationCount;//pixel to the right
double H3 = HeightScale*Data[index+resolution.x].IterationCount;//pixel below
dvec3 V1 = dvec3(0,0,H1);//triangle using the 3 pixels with the iterationcount as height in z dimension
dvec3 V2 = dvec3(1,0,H2);
dvec3 V3 = dvec3(0,1,H3);
dvec3 Norm = normalize(cross(V2-V1,V3-V1));//normal vector of triangle
return float(dot(Norm,Sun));//dot between normal and sun to give light/shadow
ivec2 Get3dPosition(ivec2 OriginalPos)
vec2 ScreenPos = (vec2(OriginalPos.xy)-vec2(resolution.xy)/2)/resolution.x;
float a = Time*0.05;
vec3 CameraVector = vec3(cos(a),sin(a),0.5)*0.7;
vec3 I = -normalize(CameraVector);
vec3 K = normalize(cross(I,vec3(0,0,1)));
vec3 J = cross(I,K);
vec3 Vel = I+J*ScreenPos.y-K*ScreenPos.x;
vec3 Pos = CameraVector;
Pos -= Vel*(Pos.z/Vel.z);
ivec2 storePos =ivec2(Pos.xy*resolution.x+vec2(resolution.xy)/2);
float PreviousHeight=0;
for(int i = 0;i<100;i++)
int index = int(storePos.y*resolution.x+storePos.x);
DataStruct data = Data[index];
double DistEstimate = data.DistEstimate;
float Height = -0.001*exp(sin(Time*0.5))*float(DistEstimate)/resolution.x;
if(abs(Pos.z-Height)<3/resolution.x)
break;
Pos -= Vel*((Pos.z-(Height+PreviousHeight)/2)/Vel.z);
PreviousHeight=Height;
//Pos+=Vel/resolution.x;
//float T=0.1*(Height-Pos.z)/Vel.z;
//Pos += Vel*T;
storePos =ivec2(Pos.xy*resolution.x+vec2(resolution.xy)/2);
return storePos;
void main() {
ivec2 storePos = ivec2(fPosition);
float scaleFactor = min(resolution.x/float(outputResolution.x),resolution.y/float(outputResolution.y));
ivec2 inputPos = ivec2((storePos-outputResolution.xy*0.5)*scaleFactor+resolution.xy*0.5);
//storePos=Get3dPosition(storePos);
vec2 position = (vec2(fPosition.xy)-vec2(resolution.xy)/2)/resolution.x;
//storePos =ivec2(position*resolution.x+vec2(resolution.xy)/2);
vec4 InputColor = texelFetch(sourceTex,inputPos,0);
int index = int(inputPos.y*resolution.x+inputPos.x);
DataStruct data = Data[index];
//double S = sin(Time);
//double C = cos(Time);
//C=(C*0.5+0.5)*0.3;
//double Scale = 1-C*0.3;
//C=1;
double RealC = position.x*2*Zoom+CameraReal;
double ImagC = position.y*2*Zoom+CameraImag;
double RealZ = 0;
double ImagZ = 0;
if(RealC*RealC+ImagC*ImagC<0.0001)
//imageStore(destTex, storePos, vec4(1,1,1,1.0f));
//return;
if(Julia==1)
RealZ = RealC;
ImagZ = ImagC;
RealC = JuliaReal;
ImagC = JuliaImag;
//int L;
//float E = 0;
//C=-0.866;
//S=0.5;
float Close = 20;
dvec2 A = dvec2(0,2);
dvec2 Z = dvec2(RealZ,ImagZ);
dvec2 C = dvec2(RealC,ImagC);
dvec2 PowerC = dvec2(1,0);
for(int i=0;i<ArrayMaxZ;i++)
PolynomialConstants[i]=dvec2(0,0);
for(int j=0;j<ArrayMaxC;j++)
for(int i=0;i<ArrayMaxZ;i++)
int k = 2*(i+ArrayMaxZ*j);
dvec2 M = dvec2(CoefficientArray[k],CoefficientArray[k+1]);
PolynomialConstants[i]+=Mult(PowerC,M);
PowerC=Mult(PowerC,C);
double L = data.IterationCount;
//double L = InputColor.x;
//L=0;
double DistEstimate = data.DistEstimate;
float Dist = float(data.MinDistance);
vec3 Col = vec3(InteriorColor);
if(L >0)
//DistEstimate =GetApproximateDistanceEstimate(storePos);
//float K = ColorOffset- ColorScale * (float(L)/200);
float K = Lerp(
ColorOffset- ColorScale * (float(L)/200),
ColorOffset- ColorScale * (-log(float(DistEstimate))/40),
DistanceEstimateColoringLerp);
//K+=Time*0.2;
//K=Dist*0.03;
float a = exp(-0.1*max(float(L)-8,0));
//float a =0;
float s = 0.85*(1-a*0.2);
a*=0.2;
float Angle = atan(float(data.EndPoint.y),float(data.EndPoint.x))+Time;
Angle=mod(Angle+Tau/2,Tau)-Tau/2;
float A = exp(-Angle*Angle*8);
K = mod(K ,1.0);
//Col = vec3(K);
Col = a+GetExteriorColor(1-K)*s;
//Col *=(GetLight(storePos)*0.5+1);
//Col = vec3(GetLight(storePos),0,-GetLight(storePos))*0.5;
//Col.r = a+hueValue2(K) * s;
//Col.g = a+hueValue2(K + 0.33) * s;
//Col.b = a+hueValue2(K + 0.66) * s;
Col +=(GetLight(inputPos)*0.3);
//Col = FancyColor(K);
//Col=vec3((E+L)/100.0);
double FractionalIteration = fract(data.IterationCount);
//Col.x+=float(FractionalIteration);
//Col+=A*0.2;
if(QuaternionJulia==0)
/*int t = int(Time/2);
int a = int(mod(data.Period+t+data.Period/3,3));
if(a==0)
Col.r+=1;
if(a==1)
Col.g+=1;
}if(a==2)
Col+=1;
if(FinalDotStrength==0)
float V = float(-0.06*logd(data.MinDistance))*CenterDotStrength;
Col+=vec3(V*V,V,sqrt(V))*V;
float V = float(-0.12*logd(length(data.EndPoint-FinalDotPosition)))*CenterDotStrength;
Col+=vec3(V*V,V,sqrt(V))*V;
if(Julia==1)
//float Q = sqrt(Close);
//float s = 0.6366*atan(100*Q);
//float K = Q*2;
//r=g=b=1-s;
if(PeriodHighlight<0)
int P = min(PeriodHighlight,data.Period);
//P=PeriodHighlight;
dvec2 Z0 = C;
for(int i =0;i<0;i++)//newtons method
dvec2 Z1=Z0;
dvec2 DZ1=vec2(1,0);
for(int j=0;j<P;j++)
DZ1=Mult(ComputeDerivative(Z1),DZ1);
Z1=Compute(Z1);
dvec2 Change = Div((Z1-Z0),(DZ1-vec2(1,0)));
Z0=Z0-Change;
if(length(Change)<0.1*length(Z0-C))
break;
dvec2 FixedPoint = Z0;
dvec2 DZ0=dvec2(1,0);
for(int j=0;j<P;j++)
DZ0=Mult(ComputeDerivative(Z0),DZ0);
Z0=Compute(Z0);
//if(DZ0.x*DZ0.x+DZ0.y*DZ0.y<1.0)
float Angle = atan(float(DZ0.y),float(DZ0.x));
float P = 0.5+0.5*cos(4*pi*pi/Angle);
float R = float(length(DZ0));
P=P*P*P*P*smoothstep(1-0.5*abs(Angle/pi),1,R);
float Q = smoothstep(0,1,float((1-abs(DZ0.y*10))*smoothstep(-1,0,DZ0.x*10)));
vec3 Col2 = vec3(0);
Col2.r=R*(1-Q);
Col2.b=R*Q;
//Col.g+=(P);
Col2.g=clamp(cos(float(DZ0.y*30))+cos(float(DZ0.x*8-Time*0.5))-1,0,1);
if(L >0)
Col=Col+Col2*0.2;
}else{
Col=Col2;
/*dvec2 J = dvec2(0,1);
dvec2 Z1 = dvec2(0);
dvec2 Z2 = IterationPoint;
dvec2 Z3 = dvec2(1,0);
for(int i =0;i<8;i++)
Z1 = Compute(Z1);
//Z3 *= Div(dvec2(1,0),Z1-Compute(Z1));
//Z2 = Mult(Z2,Z2)+C+vec2(Zoom,0)/resolution;
Z3=(Z1);
//Z-=J;
float s =1-exp(-5*float(length(Z)));
float K = 0.5*atan(float(Z3.y),float(Z3.x))/pi;
vec3 Col2=vec3(0);
Col2.r = hueValue2(K) * s;
Col2.g = hueValue2(K + 0.33) * s;
Col2.b = hueValue2(K + 0.66) * s;
Col=LerpColor(Col,Col2,0.7);
//if(abs(Z3.x)<0.05*(Z3.y))
//Col+=vec3(1,1,1)*0.3;*/
if(BuddhaActive>0)
Col=GetBuddhaColor(storePos)*5;
if(BuddhaReset>0)
imageStore(BuddhaTexR,storePos,ivec4(0));
imageStore(BuddhaTexG,storePos,ivec4(0));
imageStore(BuddhaTexB,storePos,ivec4(0));
if(QuaternionJulia==1)
vec3 BaseColor=Col;
float Iter = InputColor.z;
Iter-=0.0;
Iter=max(0.0,Iter);
Col = vec3(0.2,0.4,0.7)*(1.0-InputColor.y)*0.8;
Col+=BaseColor*InputColor.y;
Col+=vec3(1,1,1)*(1.0-exp(-Iter*0.004))*0.8;
/*if(min(mod(abs(RealC),1),mod(abs(ImagC),1))<0.005*Zoom)
Col=vec3(0,0,0);
if(abs(RealC)<0.005*Zoom)
Col=vec3(1,0,0);
if(abs(ImagC)<0.005*Zoom)
Col=vec3(0,1,0);
fragColor=vec4(Col,1.0f);//+vec4(0.1,0,0,0);//+texelFetch(sourceTex,storePos,0);
//fragColor=texture2D(sourceTex,fPosition/resolution);
//imageStore(destTex, storePos, vec4(Col,1.0f));
//imageStore(reverseTex, storePos, InputColor);
#version 430
uniform vec2 resolution;
uniform writeonly image2D destTex;
uniform writeonly image2D reverseTex;
layout(rgba32f) uniform readonly image2D sourceTex;
layout (local_size_x = 16, local_size_y = 16,local_size_z = 1) in;
uniform double Zoom;
uniform double CameraReal;
uniform double CameraImag;
uniform int Julia;
uniform double JuliaReal;
uniform double JuliaImag;
uniform vec2 Size;
uniform float ColorOffset;
uniform float ColorScale;
uniform float Time;
const float pi=3.1415926;
uniform double[64] CoefficientArray;
uniform int ArrayMaxZ;
uniform int ArrayMaxC;
uniform int PeriodHighlight;
dvec2[8] PolynomialConstants;
uniform int QuaternionJulia;
float hueValue(float h)
float a = (2.0 * (h - int(h)) - 1.0);
if (a < 0)
a = -a;
a = 3 * a - 1;
if (a > 1) return 1;
else if (a < 0) return 0;
else return a;
float hueValue2(float h)
return (cos(h*pi*2)+1)/2;
//fancy color by wes
vec3 FancyColor(float h)
h=mod(h,1);
vec3 A = vec3(h*h,h,sqrt(h));
h=2-h;
vec3 B = vec3(h*h,h,sqrt(h));
return min(A,B.zyx);
dvec2 Mult(dvec2 A,dvec2 B)
return dvec2(A.x*B.x-A.y*B.y,A.x*B.y+A.y*B.x);
dvec2 Conjugate(dvec2 Z)
return dvec2(Z.x,-Z.y);
dvec2 Div(dvec2 A,dvec2 B)
return Mult(A,Conjugate(B))/(B.x*B.x+B.y*B.y);
dvec2 Log(dvec2 Z)
return dvec2(log(float(Z.x*Z.x+Z.y*Z.y))/2,atan(float(Z.y),float(Z.x)));
dvec2 Exp(dvec2 Z)
float E = exp(float(Z.x));
return dvec2(E*cos(float(Z.y)),E*sin(float(Z.y)));
dvec2 Pow(dvec2 A,dvec2 B)
return Exp(Mult(B,Log(A)));
dvec2 Sin(dvec2 Z)
return Div(Exp(Mult(Z,dvec2(0,1)))-Exp(Mult(Z,dvec2(0,-1))),dvec2(0,2));
dvec2 Cos(dvec2 Z)
return Div(Exp(Mult(Z,dvec2(0,1)))+Exp(Mult(Z,dvec2(0,-1))),dvec2(2,0));
dvec2 Compute(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=0;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i];
return NewZ;
dvec2 ComputeDerivative(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=1;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i]*i;
return NewZ;
float GetLight(ivec2 storePos)
dvec3 Sun = normalize(vec3(-1,-1,0.0));
double HeightScale = 7;
double H1 = HeightScale*imageLoad(sourceTex,storePos).x;
double H2 = HeightScale*imageLoad(sourceTex,storePos+ivec2(1,0)).x;
double H3 = HeightScale*imageLoad(sourceTex,storePos+ivec2(0,1)).x;
dvec3 V1 = dvec3(0,0,H1);
dvec3 V2 = dvec3(1,0,H2);
dvec3 V3 = dvec3(0,1,H3);
dvec3 Norm = normalize(cross(V2-V1,V3-V1));
return float(dot(Norm,Sun));
void main() {
ivec2 storePos = ivec2(gl_GlobalInvocationID.xy);
vec2 position = (vec2(gl_GlobalInvocationID.xy)+vec2(0,(resolution.x-resolution.y)/2))/resolution.x;
//double S = sin(Time);
//double C = cos(Time);
//C=(C*0.5+0.5)*0.3;
//double Scale = 1-C*0.3;
//C=1;
double RealC = position.x*2*Zoom-Zoom+CameraReal;
double ImagC = position.y*2*Zoom-Zoom+CameraImag;
double RealZ = 0;
double ImagZ = 0;
if(RealC*RealC+ImagC*ImagC<0.0001)
//imageStore(destTex, storePos, vec4(1,1,1,1.0f));
//return;
if(Julia==1)
RealZ = RealC;
ImagZ = ImagC;
RealC = JuliaReal;
ImagC = JuliaImag;
//int L;
//float E = 0;
//C=-0.866;
//S=0.5;
float Close = 20;
dvec2 A = dvec2(0,2);
dvec2 Z = dvec2(RealZ,ImagZ);
dvec2 C = dvec2(RealC,ImagC);
dvec2 PowerC = dvec2(1,0);
for(int i=0;i<ArrayMaxZ;i++)
PolynomialConstants[i]=dvec2(0,0);
for(int j=0;j<ArrayMaxC;j++)
for(int i=0;i<ArrayMaxZ;i++)
int k = 2*(i+ArrayMaxZ*j);
dvec2 M = dvec2(CoefficientArray[k],CoefficientArray[k+1]);
PolynomialConstants[i]+=Mult(PowerC,M);
PowerC=Mult(PowerC,C);
vec4 InputColor =imageLoad(sourceTex,storePos);
float L = InputColor.x;
float Dist = InputColor.y;
vec3 Col = vec3(0,0,0);
if(L >0)
float K = (ColorOffset) +0.05- (ColorScale * float(L)) / 200;
//K=Dist*0.03*ColorScale;
K = mod(K ,1.0);
float a = exp(-0.1*max(float(L)-8,0));
float s = 0.85*(1-a*0.2);
a*=0.2;
a+=GetLight(storePos)*0.3;
Col.r = a+hueValue2(K) * s;
Col.g = a+hueValue2(K + 0.33) * s;
Col.b = a+hueValue2(K + 0.66) * s;
//Col = FancyColor(K);
//Col=vec3((E+L)/100.0);
if(PeriodHighlight>0)
dvec2 Z0 = C;
for(int i =0;i<5;i++)//newtons method
dvec2 Z1=Z0;
dvec2 DZ1=vec2(1,0);
for(int j=0;j<PeriodHighlight;j++)
DZ1=Mult(ComputeDerivative(Z1),DZ1);
Z1=Compute(Z1);
dvec2 Change = Div((Z1-Z0),(DZ1-vec2(1,0)));
Z0=Z0-Change;
if(length(Change)<0.1*length(Z0-C))
break;
dvec2 FixedPoint = Z0;
dvec2 DZ0=dvec2(1,0);
for(int j=0;j<PeriodHighlight;j++)
DZ0=Mult(ComputeDerivative(Z0),DZ0);
Z0=Compute(Z0);
if(DZ0.x*DZ0.x+DZ0.y*DZ0.y<1.0)
float Angle = atan(float(DZ0.y),float(DZ0.x));
float P = 0.5+0.5*cos(4*pi*pi/Angle);
float R = float(length(DZ0));
P=P*P*P*P*smoothstep(1-0.5*abs(Angle/pi),1,R);
float Q = smoothstep(0,1,float((1-abs(DZ0.y*10))*smoothstep(-1,0,DZ0.x*10)));
Col.r=R*(1-Q);
Col.b=Col.g=R*Q;
Col.g+=(P);
//float Q = sqrt(Close);
//float s = 0.6366*atan(100*Q);
//float K = Q*2;
//r=g=b=1-s;
if(QuaternionJulia==1)
vec3 BaseColor=Col;
float Iter = InputColor.z;
Iter-=0.0;
Iter=max(0.0,Iter);
Col = vec3(0.2,0.4,0.7)*(1.0-InputColor.w)*0.8;
Col+=BaseColor*InputColor.w;
Col+=vec3(1,1,1)*(1.0-exp(-Iter*0.004))*0.8;
imageStore(destTex, storePos, vec4(Col,1.0f));
imageStore(reverseTex, storePos, InputColor);
#version 430
struct DataStruct
double IterationCount;
double MinDistance;
double DistEstimate;
int RawIter;
int Period;
dvec2 EndPoint;
layout(std140) buffer DataBlock
DataStruct Data[];
in vec3 vPosition;
uniform int Iter;
uniform double Zoom;
uniform mat4 projectionMatrix;
uniform mat4 viewMatrix;
uniform mat4 modelMatrix;
out vec3 fPosition;
uniform ivec2 resolution;
uniform int MeshMode;
void main()
vec3 inputPos = vPosition;
if(MeshMode>0)
ivec2 storePos=ivec2(vPosition.xy);
int index = int(storePos.y*resolution.x+storePos.x);
float d = Data[index].DistEstimate==0?Iter:float(Data[index].IterationCount);
//inputPos.z-=log(d)*40-100;
inputPos.z+=sqrt(float(Data[index].DistEstimate/Zoom)*resolution.x)*8;
vec4 P = projectionMatrix*viewMatrix*modelMatrix*vec4(inputPos.x,inputPos.y,inputPos.z,1);
//P.y =-P.y;
gl_Position = P;
fPosition=vec3(vPosition.x,vPosition.y,vPosition.z);
#version 430
uniform vec2 resolution;
uniform writeonly image2D destTex;
layout(rgba32f) uniform readonly image2D reverseTex;
uniform int Iter;
layout (local_size_x = 16, local_size_y = 16,local_size_z = 1) in;
uniform double Zoom;
uniform double CameraReal;
uniform double CameraImag;
uniform int Julia;
uniform double JuliaReal;
uniform double JuliaImag;
uniform vec2 Size;
const float pi=3.1415926;
uniform double[64] CoefficientArray;
uniform int ArrayMaxZ;
uniform int ArrayMaxC;
dvec2[8] PolynomialConstants;
dvec2[8] PolynomialConstantsDerC;
uniform int MaxPeriod=20;
uniform ivec2 PixelShift;
dvec2 Mult(dvec2 A,dvec2 B)
return dvec2(A.x*B.x-A.y*B.y,A.x*B.y+A.y*B.x);
dvec2 Conjugate(dvec2 Z)
return dvec2(Z.x,-Z.y);
dvec2 Div(dvec2 A,dvec2 B)
return Mult(A,Conjugate(B))/(B.x*B.x+B.y*B.y);
dvec2 Log(dvec2 Z)
return dvec2(log(float(Z.x*Z.x+Z.y*Z.y))/2,atan(float(Z.y),float(Z.x)));
dvec2 Exp(dvec2 Z)
float E = exp(float(Z.x));
return dvec2(E*cos(float(Z.y)),E*sin(float(Z.y)));
dvec2 Pow(dvec2 A,dvec2 B)
return Exp(Mult(B,Log(A)));
dvec2 Sin(dvec2 Z)
return Div(Exp(Mult(Z,dvec2(0,1)))-Exp(Mult(Z,dvec2(0,-1))),dvec2(0,2));
dvec2 Cos(dvec2 Z)
return Div(Exp(Mult(Z,dvec2(0,1)))+Exp(Mult(Z,dvec2(0,-1))),dvec2(2,0));
dvec2 Compute(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=0;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i];
return NewZ;
dvec2 ComputeDerivativeZ(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=1;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstants[i]*i;
return NewZ;
dvec2 ComputeDerivativeC(dvec2 Z)
dvec2 NewZ=dvec2(0,0);
for(int i =ArrayMaxZ-1;i>=0;i--)
NewZ=Mult(Z,NewZ)+PolynomialConstantsDerC[i];
return NewZ;
vec4 MainCompute(dvec2 C)
dvec2 Z = dvec2(0);
if(Julia==1)
C= dvec2(JuliaReal,JuliaImag);
int L;
float E = 0;
for(int i=0;i<ArrayMaxZ;i++)
PolynomialConstants[i]=dvec2(0,0);
for(int i=0;i<ArrayMaxZ;i++)
int k = 2*(i);
dvec2 M = dvec2(CoefficientArray[k],CoefficientArray[k+1]);
PolynomialConstants[i] = M;
PolynomialConstantsDerC[i]=vec2(0);
dvec2 PowerC = dvec2(1,0);
for(int j=1;j<ArrayMaxC;j++)
k = 2*(i+ArrayMaxZ*j);
M = dvec2(CoefficientArray[k],CoefficientArray[k+1]);
PolynomialConstantsDerC[i]+=Mult(PowerC,M);
PowerC=Mult(PowerC,C);
PolynomialConstants[i]+=Mult(PowerC,M);
dvec2 DC = dvec2(1,0);
int ArrayMax = ArrayMaxZ-1;
for(L=0;L<Iter;L++)
//DC=Mult(DC,ComputeDerivativeZ(Z))+ComputeDerivativeC(Z);
Antivirus Signature
Bkav W32.AIDetectMalware.CS
Lionic Trojan.Win32.Taskun.4!c
Elastic malicious (moderate confidence)
ClamAV Clean
CMC Clean
CAT-QuickHeal Clean
Skyhigh Artemis!Trojan
ALYac Clean
Cylance Unsafe
Zillya Clean
Sangfor Suspicious.Win32.Save.a
CrowdStrike win/malicious_confidence_100% (W)
Alibaba Trojan:MSIL/Taskun.c80ab995
K7GW Trojan ( 005c265a1 )
K7AntiVirus Trojan ( 005c265a1 )
huorong Clean
Baidu Clean
VirIT Trojan.Win32.MSIL_Heur.A
Paloalto generic.ml
Symantec Scr.Malcode!gdn34
tehtris Clean
ESET-NOD32 a variant of MSIL/Kryptik.ANFB
APEX Clean
Avast Win32:DropperX-gen [Drp]
Cynet Clean
Kaspersky HEUR:Trojan.MSIL.Taskun.gen
BitDefender Gen:Variant.Lazy.657226
NANO-Antivirus Clean
ViRobot Trojan.Win.Z.Kryptik.908800.CBF
MicroWorld-eScan Gen:Variant.Lazy.657226
Sophos Troj/Krypt-ABH
F-Secure Trojan.TR/Kryptik.dpgmp
DrWeb Clean
VIPRE Gen:Variant.Lazy.657226
TrendMicro TrojanSpy.Win32.NEGASTEAL.YXFBZZ
McAfeeD ti!FBAEC035008B
Trapmine Clean
CTX exe.trojan.msil
Emsisoft Gen:Variant.Lazy.657226 (B)
Ikarus Win32.Outbreak
FireEye Gen:Variant.Lazy.657226
Jiangmin Clean
Webroot W32.Malware.gen
Varist W32/MSIL_Kryptik.MBB.gen!Eldorado
Avira TR/Kryptik.dpgmp
Fortinet MSIL/Kryptik.PBZX!tr
Antiy-AVL Clean
Kingsoft MSIL.Trojan.Taskun.gen
Gridinsoft Trojan.Win32.Kryptik.sa
Xcitium Clean
Arcabit Trojan.Lazy.DA074A
SUPERAntiSpyware Clean
Microsoft Trojan:MSIL/Lokibot.AKMA!MTB
Google Detected
AhnLab-V3 Malware/Win.Generic.C5733817
Acronis Clean
McAfee Artemis!F61BC92E52D3
TACHYON Clean
VBA32 TrojanLoader.MSIL.DaVinci.Heur
Malwarebytes Trojan.MalPack.PNG.Generic
Panda Trj/Chgt.AD
Zoner Clean
TrendMicro-HouseCall TrojanSpy.Win32.NEGASTEAL.YXFBZZ
Tencent Msil.Trojan.Taskun.Yfow
Yandex Clean
SentinelOne Static AI - Malicious PE
MaxSecure Trojan.Malware.300983.susgen
GData Gen:Variant.Lazy.657226
AVG Win32:DropperX-gen [Drp]
DeepInstinct Clean
alibabacloud Clean
No IRMA results available.