feat(user interface): started to play with some shader

This commit is contained in:
Swann Martinez 2019-03-06 18:45:11 +01:00
parent d52dd668c5
commit 1504c0a5f2
No known key found for this signature in database
GPG Key ID: 414CCAFD8DA720E1
2 changed files with 25 additions and 16 deletions

View File

@ -249,7 +249,6 @@ class Client():
self.pull_sock.close()
self.task.cancel()
class Server():
def __init__(self, context=zmq.Context(), id="admin"):
self.context = context

View File

@ -5,6 +5,8 @@ import logging
import mathutils
import random
import string
import gpu
from gpu_extras.batch import batch_for_shader
logger = logging.getLogger(__name__)
@ -19,9 +21,10 @@ NATIVE_TYPES = (
bpy.types.StringProperty,
)
class RNAFactory(net_components.RCFFactory):
def load_getter(self,data):
get,set = match_supported_types(data)
def load_getter(self, data):
get, set = match_supported_types(data)
def on_scene_evalutation(scene):
@ -30,6 +33,7 @@ def on_scene_evalutation(scene):
# TODO: Scene representation
pass
def randomStringDigits(stringLength=6):
"""Generate a random string of letters and digits """
lettersAndDigits = string.ascii_letters + string.digits
@ -153,20 +157,10 @@ def patch_scene(msg):
logger.debug('no need to update scene on our own')
def vector2array(v):
return [v.x, v.y, v.z]
def array2vector(a):
logger.debug(mathutils.Vector((a[0], a[1], a[2])))
return mathutils.Vector((a[0], a[1], a[2]))
recv_callbacks = [patch_scene]
post_init_callbacks = [refresh_window]
class session_join(bpy.types.Operator):
bl_idname = "session.join"
bl_label = "join"
@ -306,7 +300,8 @@ class session_stop(bpy.types.Operator):
class session_settings(bpy.types.PropertyGroup):
username = bpy.props.StringProperty(name="Username", default="user_{}".format(randomStringDigits()))
username = bpy.props.StringProperty(
name="Username", default="user_{}".format(randomStringDigits()))
ip = bpy.props.StringProperty(name="localhost")
port = bpy.props.IntProperty(name="5555")
buffer = bpy.props.StringProperty(name="None")
@ -315,6 +310,19 @@ class session_settings(bpy.types.PropertyGroup):
name="update_frequency", default=0.008)
camera_coords = [(-1, 1, 0), (1, 1, 0), (1, 1, 0),
(1, -1, 0), (1, -1, 0), (-1, -1, 0),
(-1, -1, 0), (-1, 1, 0)]
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
batch = batch_for_shader(shader, 'LINES', {"pos": camera_coords})
def draw_client():
shader.bind()
shader.uniform_float("color", (1, 1, 0, 1))
batch.draw(shader)
# TODO: Rename to match official blender convention
classes = (
session_join,
@ -333,7 +341,9 @@ def register():
bpy.types.Scene.session_settings = bpy.props.PointerProperty(
type=session_settings)
bpy.types.SpaceView3D.draw_handler_add(
draw_client, (), 'WINDOW', 'POST_VIEW')
# bpy.app.handlers.depsgraph_update_post.append(on_scene_evalutation)
@ -342,6 +352,7 @@ def unregister():
for cls in reversed(classes):
unregister_class(cls)
# bpy.types.SpaceView3D.draw_handler_remove(draw_client, (),'WINDOW')
# bpy.app.handlers.depsgraph_update_post.remove(on_scene_evalutation)
del bpy.types.Scene.session_settings
@ -349,4 +360,3 @@ def unregister():
if __name__ == "__main__":
register()