S3D - a 3D Desktop Enviroment

Simon Wunderlich

This is the Documentation for the S3D and it's Development Libraries.


Table of Contents
1. s3d - the server
1.1. Client-Server Architecture
1.2. Moving in s3d
1.3. The s3drc file
2. libs3d - The S3D API
2.1. Using the s3d library
2.1.1. Setting s3d up
2.1.2. Getting started
2.2. function reference
2.2.1. s3d_init
2.2.2. s3d_quit
2.2.3. s3d_usage
2.2.4. s3d_mainloop
2.2.5. s3d_push_vertex
2.2.6. s3d_push_vertices
2.2.7. s3d_push_material
2.2.8. s3d_push_material_a
2.2.9. s3d_push_materials_a
2.2.10. s3d_push_polygon
2.2.11. s3d_push_polygons
2.2.12. s3d_push_line
2.2.13. s3d_push_lines
2.2.14. s3d_push_texture
2.2.15. s3d_pop_vertex
2.2.16. s3d_pop_polygon
2.2.17. s3d_pop_material
2.2.18. s3d_pop_texture
2.2.19. s3d_pop_line
2.2.20. s3d_pep_polygon_normals
2.2.21. s3d_pep_polygon_tex_coord
2.2.22. s3d_pep_polygon_tex_coords
2.2.23. s3d_pep_material_texture
2.2.24. s3d_pep_vertex
2.2.25. s3d_pep_vertices
2.2.26. s3d_pep_line
2.2.27. s3d_pep_lines
2.2.28. s3d_pep_line_normals
2.2.29. s3d_load_line_normals
2.2.30. s3d_pep_material
2.2.31. s3d_pep_material_a
2.2.32. s3d_pep_materials_a
2.2.33. s3d_load_materials_a
2.2.34. s3d_load_polygon_normals
2.2.35. s3d_load_tex_coords
2.2.36. s3d_load_texture
2.2.37. s3d_new_object
2.2.38. s3d_del_object
2.2.39. s3d_clone_object
2.2.40. s3d_clone_object_target
2.2.41. s3d_link
2.2.42. s3d_unlink
2.2.43. s3d_import_model_file
2.2.44. s3d_select_font
2.2.45. s3d_draw_string
2.2.46. s3d_strlen
2.2.47. s3d_open_file
2.2.48. s3d_flags_on
2.2.49. s3d_flags_off
2.2.50. s3d_translate
2.2.51. s3d_rotate
2.2.52. s3d_scale
2.2.53. s3d_push_event
2.2.54. s3d_pop_event
2.2.55. s3d_find_event
2.2.56. s3d_delete_event
2.2.57. s3d_set_callback
2.2.58. s3d_ignore_callback
2.2.59. s3d_clear_callback
2.2.60. s3d_get_callback
2.2.61. s3d_process_stack
2.2.62. s3d_vector_length
2.2.63. s3d_vector_substract
2.2.64. s3d_vector_dot_product
2.2.65. s3d_vector_cross_product
2.2.66. s3d_vector_angle
2.2.67. s3d_angle_to_cam
2.2.68. s3d_mcp_focus
2.2.69. s3d_net_check
2.3. Data types
2.3.1. struct s3d_but_info
2.3.2. struct s3d_but_info
2.3.3. struct mcp_object
2.3.4. struct s3d_evt
2.3.5. typedef s3d_cb
2.4. Definitions
2.4.1. S3D events
2.4.2. S3D Object Flags
2.5. Additional Notes
2.5.1. About alpha transparency
3. libs3wd - The S3D Widget Library
3.1. Using the s3d widget library
3.1.1. Getting started
3.2. function reference
3.2.1. s3dw_surface_new
3.2.2. s3dw_button_new
3.2.3. s3dw_input_new
3.2.4. s3dw_label_new
3.2.5. s3dw_textbox_new
3.2.6. s3dw_textbox_scrollup
3.2.7. s3dw_textbox_scrolldown
3.2.8. s3dw_textbox_scrollleft
3.2.9. s3dw_textbox_scrollright
3.2.10. s3dw_textbox_scrollto
3.2.11. s3dw_getroot
3.2.12. s3dw_input_gettext
3.2.13. s3dw_input_change_text
3.2.14. s3dw_label_change_text
3.2.15. s3dw_textbox_change_text
3.2.16. s3dw_delete
3.2.17. s3dw_moveit
3.2.18. s3dw_show
3.2.19. s3dw_focus
3.2.20. s3dw_handle_click
3.2.21. s3dw_handle_key
3.2.22. s3dw_object_info
3.2.23. s3dw_ani_mate
3.3. Data types
3.3.1. s3dw_widget
3.3.2. s3dw_button
3.3.3. s3dw_input
3.3.4. s3dw_textbox
3.3.5. s3dw_scrollbar
3.3.6. s3dw_label
3.3.7. s3dw_surface
3.3.8. s3dw_style
3.3.9. s3dw_callback