Пример #1
0
    def process(self):
        inputs, outputs = self.inputs, self.outputs

        if not outputs[0].is_linked:
            return

        _noise_type = noise_dict[self.noise_type]
        _seed = inputs['Seed'].sv_get()[0][0]
        wrapped_fractal_function = fractal_f[self.fractal_type]

        verts = inputs['Vertices'].sv_get()

        m_h_factor = inputs['H Factor'].sv_get()[0]
        m_lacunarity = inputs['Lacunarity'].sv_get()[0]
        m_octaves = inputs['Octaves'].sv_get()[0]
        m_offset = inputs['Offset'].sv_get()[0] if 'Offset' in inputs else [
            0.0
        ]
        m_gain = inputs['Gain'].sv_get()[0] if 'Gain' in inputs else [0.0]
        param_list = [m_h_factor, m_lacunarity, m_octaves, m_offset, m_gain]

        out = []
        for idx, vlist in enumerate(verts):
            # lazy generation of full parameters.
            params = [(param[idx] if idx < len(param) else param[-1])
                      for param in param_list]
            final_vert_list = [seed_adjusted(vlist, _seed)]

            out.append(
                wrapped_fractal_function(_noise_type, final_vert_list[0],
                                         *params))

        outputs[0].sv_set(out)
Пример #2
0
    def process(self):
        inputs, outputs = self.inputs, self.outputs

        if not outputs[0].is_linked:
            return

        _noise_type = noise_dict[self.noise_type]
        _seed = inputs['Seed'].sv_get()[0][0]
        wrapped_fractal_function = fractal_f[self.fractal_type]

        verts = inputs['Vertices'].sv_get()

        m_h_factor = inputs['H Factor'].sv_get()[0]
        m_lacunarity = inputs['Lacunarity'].sv_get()[0]
        m_octaves = inputs['Octaves'].sv_get()[0]
        m_offset = inputs['Offset'].sv_get()[0] if 'Offset' in inputs else [0.0]
        m_gain = inputs['Gain'].sv_get()[0] if 'Gain' in inputs else [0.0]
        param_list = [m_h_factor, m_lacunarity, m_octaves, m_offset, m_gain]

        out = []
        for idx, vlist in enumerate(verts):
            # lazy generation of full parameters.
            params = [(param[idx] if idx < len(param) else param[-1]) for param in param_list]
            final_vert_list = [seed_adjusted(vlist, _seed)]

            out.append(wrapped_fractal_function(_noise_type, final_vert_list[0], *params))

        outputs[0].sv_set(out)
Пример #3
0
    def process(self):
            inputs, outputs = self.inputs, self.outputs

            if not outputs[0].is_linked:
                return

            _noise_type = noise_dict[self.noise_type]
            tfunc = turbulence_f[self.out_mode]

            verts = inputs['Vertices'].sv_get(deepcopy=False)
            maxlen = len(verts)
            arguments = [verts]

            # gather socket data into arguments
            for socket in inputs[1:]:
                data = socket.sv_get()[0]
                fullList(data, maxlen)
                arguments.append(data)

            # iterate over vert lists and pass arguments to the turbulence function
            out = []
            for idx, (vert_list, octaves, hard, amp, freq, seed) in enumerate(zip(*arguments)):
                final_vert_list = seed_adjusted(vert_list, seed)
                out.append([tfunc(v, octaves, hard, _noise_type, amp, freq) for v in final_vert_list])

            if 'Noise V' in outputs:
                out = Vector_degenerate(out)
            outputs[0].sv_set(out)
Пример #4
0
    def process(self):
        inputs, outputs = self.inputs, self.outputs

        if not outputs[0].is_linked:
            return

        _noise_type = noise_dict[self.noise_type]
        tfunc = turbulence_f[self.out_mode]

        verts = inputs['Vertices'].sv_get(deepcopy=False)
        maxlen = len(verts)
        arguments = [verts]

        # gather socket data into arguments
        for socket in inputs[1:]:
            data = socket.sv_get()[0]
            fullList(data, maxlen)
            arguments.append(data)

        # iterate over vert lists and pass arguments to the turbulence function
        out = []
        for idx, (vert_list, octaves, hard, amp, freq,
                  seed) in enumerate(zip(*arguments)):
            final_vert_list = seed_adjusted(vert_list, seed)
            out.append([
                tfunc(v, octaves, hard, _noise_type, amp, freq)
                for v in final_vert_list
            ])

        if 'Noise V' in outputs:
            out = Vector_degenerate(out)
        outputs[0].sv_set(out)
Пример #5
0
    def process(self):
        inputs, outputs = self.inputs, self.outputs

        if not outputs[0].is_linked:
            return

        out = []
        verts = inputs['Vertices'].sv_get(deepcopy=False)
        _seed = inputs['Seed'].sv_get()[0][0]
        _distortion = inputs['Distrortion'].sv_get()[0][0]
        _noise_type1 = noise_dict[self.noise_type1]
        _noise_type2 = noise_dict[self.noise_type2]

        for vert_list in verts:

            final_vert_list = seed_adjusted(vert_list, _seed)
            out.append([var_func(v, _distortion, _noise_type1, _noise_type2) for v in final_vert_list])

        outputs[0].sv_set(out)
Пример #6
0
    def process(self):
        inputs, outputs = self.inputs, self.outputs

        if not outputs[0].is_linked:
            return

        out = []
        verts = inputs['Vertices'].sv_get(deepcopy=False)
        _seed = inputs['Seed'].sv_get()[0][0]
        _distortion = inputs['Distrortion'].sv_get()[0][0]

        for vert_list in verts:
            final_vert_list = seed_adjusted(vert_list, _seed)
            out.append([
                var_func(v, _distortion, self.noise_type1, self.noise_type2)
                for v in final_vert_list
            ])

        outputs[0].sv_set(out)