Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ env
*.egg
*.egg-info
.coverage
.mypy_cache/
8 changes: 8 additions & 0 deletions __init__.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from . import _perlin, _simplex

snoise2 = _simplex.noise2
snoise3 = _simplex.noise3
snoise4 = _simplex.noise4
pnoise1 = _perlin.noise1
pnoise2 = _perlin.noise2
pnoise3 = _perlin.noise3
23 changes: 23 additions & 0 deletions _perlin.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
def noise1(x: float,
octaves: int = ...,
persistence: float = ...,
lacunarity: float = ...,
repeat: int = ...,
base: int = ...) -> float: ...

def noise2(x: float, y: float,
octaves: int = ...,
persistence: float = ...,
lacunarity: float = ...,
repeatx: float = ...,
repeaty: float = ...,
base: int = ...) -> float: ...

def noise3(x: float, y: float, z: float,
octaves: int = ...,
persistence: float = ...,
lacunarity: float = ...,
repeatx: int = ...,
repeaty: int = ...,
repeatz: int = ...,
base: int = ...) -> float: ...
17 changes: 17 additions & 0 deletions _simplex.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
def noise2(x: float, y: float,
octaves: int = ...,
persistence: float = ...,
lacunarity: float = ...,
repeatx: float = ...,
repeaty: float = ...,
base: float = ...) -> float: ...

def noise3(x: float, y: float, z: float,
octaves: int = ...,
persistence: float = ...,
lacunarity: float = ...) -> float: ...

def noise4(x: float, y: float, z: float, w: float,
octaves: int = ...,
persistence: float = ...,
lacunarity: float = ...) -> float: ...
20 changes: 20 additions & 0 deletions perlin.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from typing import Callable, Collection, Optional, Tuple

class BaseNoise:
permutation: Tuple[int, ...] = ...
period: int = ...
randint_function: Callable[[int, int], int] = ...
def __init__(self, period: Optional[int] = ..., permutation_table: Optional[Collection[int]] = ...,
randint_function: Optional[Callable[[int, int], int]] = ...) -> None: ...
def randomize(self, period: Optional[int] = ...) -> None: ...

class SimplexNoise(BaseNoise):
def noise2(self, x: float, y: float) -> float: ...
def noise3(self, x: float, y: float, z: float) -> float: ...

def lerp(t: float, a: float, b: float) -> float: ...

def grad3(hash: int, x: float, y: float, z: float) -> float: ...

class TileableNoise(BaseNoise):
def noise3(self, x: float, y: float, z: float, repeat: float, base: float = ...) -> float: ...
Empty file added py.typed
Empty file.
3 changes: 3 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@
],

package_dir={'noise': ''},
package_data={'noise': ['py.typed', '__init__.pyi', '_simplex.pyi',
'_perlin.pyi', 'perlin.pyi', 'shader.pyi',
'shader_noise.pyi', 'test.pyi']},
packages=['noise'],
ext_modules=[
Extension('noise._simplex', ['_simplex.c'],
Expand Down
55 changes: 55 additions & 0 deletions shader.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
from ctypes import *
from pyglet.gl import *
from typing import Any, Optional, List
from typing import Union as Union_

class GLSLException(Exception): ...

class Shader:
s_tag: int = ...
name: str = ...
prog: str = ...
shader: int = ...
compiling: bool = ...
tag: int = ...
dependencies: List[Shader] = ...
def __init__(self, name: str, prog: str) -> None: ...
def __del__(self) -> None: ...
def addDependency(self, shader: Shader) -> Shader: ...
def destroy(self) -> None: ...
def shaderType(self) -> int: ...
def isCompiled(self) -> bool: ...
def attachTo(self, program: int) -> None: ...
def attachFlat(self, program: int) -> None: ...
def compileFlat(self) -> None: ...
def compile(self) -> None: ...

class VertexShader(Shader):
def shaderType(self) -> int: ...

class FragmentShader(Shader):
def shaderType(self) -> int: ...

class ShaderProgram:
vertex_shader: Optional[VertexShader] = ...
fragment_shader: Optional[FragmentShader] = ...
program: int = ...
def __init__(self,
vertex_shader: Optional[VertexShader] = ...,
fragment_shader: Optional[FragmentShader] = ...) -> None: ...
def __del__(self) -> None: ...
def destroy(self) -> None: ...
def setShader(self, shader: Union_[VertexShader, FragmentShader]) -> None: ...
def link(self) -> int: ...
def prog(self) -> int: ...
def install(self) -> None: ...
def uninstall(self) -> None: ...
def uniformLoc(self, var: str) -> int: ...
def uset1F(self, var: str, x: float) -> None: ...
def uset2F(self, var: str, x: float, y: float) -> None: ...
def uset3F(self, var: str, x: float, y: float, z: float) -> None: ...
def uset4F(self, var: str, x: float, y: float, z: float, w: float) -> None: ...
def uset1I(self, var: str, x: int) -> None: ...
def uset3I(self, var: str, x: int, y: int, z: int) -> None: ...
def usetM4F(self, var: str, m: Any) -> None: ...
def usetTex(self, var: str, u: int, v: Any) -> None: ...
11 changes: 11 additions & 0 deletions shader_noise.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from typing import Sequence

class ShaderNoiseTexture:
freq: int = ...
width: int = ...
data: Sequence[int] = ...
def __init__(self, freq: int = ..., width: int = ...) -> None: ...
def load(self) -> None: ...
def enable(self) -> None: ...

shader_noise_glsl: str
20 changes: 20 additions & 0 deletions test.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import unittest

class PerlinTestCase(unittest.TestCase):
def test_perlin_1d_range(self) -> None: ...
def test_perlin_1d_octaves_range(self) -> None: ...
def test_perlin_1d_base(self) -> None: ...
def test_perlin_2d_range(self) -> None: ...
def test_perlin_2d_octaves_range(self) -> None: ...
def test_perlin_2d_base(self) -> None: ...
def test_perlin_3d_range(self) -> None: ...
def test_perlin_3d_octaves_range(self) -> None: ...
def test_perlin_3d_base(self) -> None: ...

class SimplexTestCase(unittest.TestCase):
def test_simplex_2d_range(self) -> None: ...
def test_simplex_2d_octaves_range(self) -> None: ...
def test_simplex_3d_range(self) -> None: ...
def test_simplex_3d_octaves_range(self) -> None: ...
def test_simplex_4d_range(self) -> None: ...
def test_simplex_4d_octaves_range(self) -> None: ...