Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

OptiXDisplayDevice Class Reference

FileRenderer subclass to exports VMD scenes to OptiX. More...

#include <OptiXDisplayDevice.h>

Inheritance diagram for OptiXDisplayDevice:

List of all members.

Public Methods

OptiXDisplayDevice (VMDApp *, int interactive)
constructor ... initialize some variables. More...

virtual ~OptiXDisplayDevice (void)
destructor. More...

void write_header (void)
write the header info. This is an alias for prepare3D. More...

void write_trailer (void)
write any trailer info. This is called by update. More...


Static Public Methods

unsigned int device_count (void)
wrap OptiXRenderer to eliminate overly broad inclusion of OptiX headers. More...


Protected Methods

void send_cylinder_buffer (void)
void send_sphere_buffer (void)
void send_triangle_buffer (void)
void cylinder (float *, float *, float rad, int filled)
draw a cylinder, with optional caps. More...

void sphere (float *xyzr)
draw a sphere. More...

void sphere_array (int num, int res, float *centers, float *radii, float *colors)
draw a sphere array. More...

void text (float *pos, float size, float thickness, const char *str)
draw text at specified location. More...

void triangle (const float *, const float *, const float *, const float *, const float *, const float *)
single color triangle with interpolated surface normals. More...

void tricolor (const float *xyz1, const float *xyz2, const float *xyz3, const float *n1, const float *n2, const float *n3, const float *c1, const float *c2, const float *c3)
triangle with interpolated surface normals and vertex colors. More...

void trimesh_c4u_n3b_v3f (unsigned char *c, signed char *n, float *v, int numfacets)
triangle mesh built from a vertex array. More...

void trimesh_c4u_n3f_v3f (unsigned char *c, float *n, float *v, int numfacets)
triangle mesh built from a vertex array. More...

void trimesh_c4n3v3 (int numverts, float *cnv, int numfacets, int *facets)
triangle mesh built from a vertex array and facet vertex index arrays. More...

void trimesh_n3b_v3f (signed char *n, float *v, int numfacets)
void trimesh_n3f_v3f (float *n, float *v, int numfacets)
triangle mesh built from a vertex array. More...

void trimesh_n3fopt_v3f (float *n, float *v, int numfacets)
flat-shaded triangle mesh built from a vertex array, if this routine isn't overridden, it has the same behavior as trimesh_n3f_v3f(), but if it is, the FileRenderer subclass can choose to skip storing surface normals in favor of on-the-fly facet normal calculation or something similar, for greater memory efficiency. More...

void tristrip (int numverts, const float *cnv, int numstrips, const int *vertsperstrip, const int *facets)
triangle strips built from a vertex array and vertex index arrays. More...


Detailed Description

FileRenderer subclass to exports VMD scenes to OptiX.

Definition at line 87 of file OptiXDisplayDevice.h.


Constructor & Destructor Documentation

OptiXDisplayDevice::OptiXDisplayDevice ( VMDApp * ,
int interactive
)

constructor ... initialize some variables.

Definition at line 101 of file OptiXDisplayDevice.C.

References FileRenderer::aasamples, NameList< int >::add_name, FileRenderer::aosamples, FileRenderer::curformat, FileRenderer::formats, FileRenderer::has_aa, PROFILE_POP_RANGE, PROFILE_PUSH_RANGE, DisplayDevice::vmdapp, and wkf_timer_create.

OptiXDisplayDevice::~OptiXDisplayDevice ( void ) [virtual]

destructor.

Definition at line 134 of file OptiXDisplayDevice.C.

References PROFILE_POP_RANGE, PROFILE_PUSH_RANGE, and wkf_timer_destroy.


Member Function Documentation

void OptiXDisplayDevice::cylinder ( float * ,
float * ,
float rad,
int filled
) [protected, virtual]

draw a cylinder, with optional caps.

Reimplemented from FileRenderer.

Definition at line 195 of file OptiXDisplayDevice.C.

References ResizeArray< float >::append, ResizeArray< float >::append2, ResizeArray< float >::append2x3, ResizeArray< float >::append3, FileRenderer::colorIndex, CYLINDER_LEADINGCAP, CYLINDER_TRAILINGCAP, Matrix4::mat, FileRenderer::matData, FileRenderer::materialIndex, NULL, ResizeArray< float >::num, FileRenderer::scale_factor, send_cylinder_buffer, Stack< Matrix4 >::top, and FileRenderer::transMat.

unsigned int OptiXDisplayDevice::device_count ( void ) [static]

wrap OptiXRenderer to eliminate overly broad inclusion of OptiX headers.

Definition at line 145 of file OptiXDisplayDevice.C.

References OptiXRenderer::device_count.

Referenced by FileRenderList::FileRenderList.

void OptiXDisplayDevice::send_cylinder_buffer ( void ) [protected]

Definition at line 167 of file OptiXDisplayDevice.C.

References OptiXRenderer::cylinder_array_color, ResizeArray< float >::num, and OptiXRenderer::ring_array_color.

Referenced by cylinder, and write_trailer.

void OptiXDisplayDevice::send_sphere_buffer ( void ) [protected]

Definition at line 256 of file OptiXDisplayDevice.C.

References ResizeArray< float >::num, and OptiXRenderer::sphere_array_color.

Referenced by sphere, and write_trailer.

void OptiXDisplayDevice::send_triangle_buffer ( void ) [protected]

Definition at line 416 of file OptiXDisplayDevice.C.

References FileRenderer::matData, ResizeArray< float >::num, and OptiXRenderer::trimesh_n3f_v3f.

Referenced by triangle, and write_trailer.

void OptiXDisplayDevice::sphere ( float * xyzr ) [protected, virtual]

draw a sphere.

Reimplemented from FileRenderer.

Definition at line 273 of file OptiXDisplayDevice.C.

References ResizeArray< float >::append, ResizeArray< float >::append3, FileRenderer::colorIndex, Matrix4::mat, FileRenderer::matData, FileRenderer::materialIndex, NULL, ResizeArray< float >::num, FileRenderer::scale_factor, send_sphere_buffer, OptiXRenderer::sphere_array_color, Stack< Matrix4 >::top, and FileRenderer::transMat.

void OptiXDisplayDevice::sphere_array ( int num,
int res,
float * centers,
float * radii,
float * colors
) [protected, virtual]

draw a sphere array.

Reimplemented from FileRenderer.

Definition at line 313 of file OptiXDisplayDevice.C.

References FileRenderer::materialIndex, FileRenderer::nearest_index, FileRenderer::scale_factor, OptiXRenderer::sphere_array_color, FileRenderer::super_set_color, Stack< Matrix4 >::top, and FileRenderer::transMat.

void OptiXDisplayDevice::text ( float * pos,
float size,
float thickness,
const char * str
) [protected, virtual]

draw text at specified location.

Reimplemented from FileRenderer.

Definition at line 347 of file OptiXDisplayDevice.C.

References ResizeArray::append2x3, ResizeArray::append3, FileRenderer::colorIndex, OptiXRenderer::cylinder_array, DEFAULT_RADIUS, hersheyDrawInitLetter, hersheyDrawNextLine, FileRenderer::matData, FileRenderer::materialIndex, NULL, ResizeArray::num, size, OptiXRenderer::sphere_array, Stack< Matrix4 >::top, FileRenderer::transMat, DisplayDevice::x, and DisplayDevice::y.

void OptiXDisplayDevice::triangle ( const float * a,
const float * b,
const float * c,
const float * n1,
const float * n2,
const float * n3
) [protected, virtual]

single color triangle with interpolated surface normals.

Reimplemented from FileRenderer.

Definition at line 431 of file OptiXDisplayDevice.C.

References ResizeArray< float >::append3x3, FileRenderer::colorIndex, Matrix4::mat, FileRenderer::materialIndex, NULL, send_triangle_buffer, Stack< Matrix4 >::top, and FileRenderer::transMat.

void OptiXDisplayDevice::tricolor ( const float * a,
const float * b,
const float * c,
const float * n1,
const float * n2,
const float * n3,
const float * c1,
const float * c2,
const float * c3
) [protected, virtual]

triangle with interpolated surface normals and vertex colors.

Reimplemented from FileRenderer.

Definition at line 456 of file OptiXDisplayDevice.C.

References FileRenderer::materialIndex, Stack< Matrix4 >::top, FileRenderer::transMat, OptiXRenderer::tricolor_list, and vec_copy.

void OptiXDisplayDevice::trimesh_c4n3v3 ( int numverts,
float * cnv,
int numfacets,
int * facets
) [protected, virtual]

triangle mesh built from a vertex array and facet vertex index arrays.

Reimplemented from FileRenderer.

Definition at line 493 of file OptiXDisplayDevice.C.

References FileRenderer::materialIndex, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::trimesh_c4n3v3.

void OptiXDisplayDevice::trimesh_c4u_n3b_v3f ( unsigned char * c,
signed char * n,
float * v,
int numfacets
) [protected, virtual]

triangle mesh built from a vertex array.

Reimplemented from FileRenderer.

Definition at line 478 of file OptiXDisplayDevice.C.

References FileRenderer::materialIndex, n, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::trimesh_c4u_n3b_v3f.

void OptiXDisplayDevice::trimesh_c4u_n3f_v3f ( unsigned char * c,
float * n,
float * v,
int numfacets
) [protected, virtual]

triangle mesh built from a vertex array.

Reimplemented from FileRenderer.

Definition at line 486 of file OptiXDisplayDevice.C.

References FileRenderer::materialIndex, n, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::trimesh_c4u_n3f_v3f.

void OptiXDisplayDevice::trimesh_n3b_v3f ( signed char * n,
float * v,
int numfacets
) [protected, virtual]

Reimplemented from FileRenderer.

Definition at line 501 of file OptiXDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::matData, FileRenderer::materialIndex, n, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::trimesh_n3b_v3f.

void OptiXDisplayDevice::trimesh_n3f_v3f ( float * n,
float * v,
int numfacets
) [protected, virtual]

triangle mesh built from a vertex array.

Reimplemented from FileRenderer.

Definition at line 508 of file OptiXDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::matData, FileRenderer::materialIndex, n, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::trimesh_n3f_v3f.

void OptiXDisplayDevice::trimesh_n3fopt_v3f ( float * n,
float * v,
int numfacets
) [protected, virtual]

flat-shaded triangle mesh built from a vertex array, if this routine isn't overridden, it has the same behavior as trimesh_n3f_v3f(), but if it is, the FileRenderer subclass can choose to skip storing surface normals in favor of on-the-fly facet normal calculation or something similar, for greater memory efficiency.

Reimplemented from FileRenderer.

Definition at line 514 of file OptiXDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::matData, FileRenderer::materialIndex, n, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::trimesh_v3f.

void OptiXDisplayDevice::tristrip ( int numverts,
const float * cnv,
int numstrips,
const int * vertsperstrip,
const int * facets
) [protected, virtual]

triangle strips built from a vertex array and vertex index arrays.

Reimplemented from FileRenderer.

Definition at line 520 of file OptiXDisplayDevice.C.

References FileRenderer::materialIndex, Stack< Matrix4 >::top, FileRenderer::transMat, and OptiXRenderer::tristrip.

void OptiXDisplayDevice::write_header ( void ) [virtual]

write the header info. This is an alias for prepare3D.

Reimplemented from FileRenderer.

Definition at line 641 of file OptiXDisplayDevice.C.

References FileRenderer::aasamples, DisplayDevice::ao_enabled, FileRenderer::aosamples, DisplayDevice::CUE_EXP, DisplayDevice::CUE_EXP2, DisplayDevice::CUE_LINEAR, DisplayDevice::dof_enabled, OptiXRenderer::dof_on, QuickSurf::free_gpu_memory, DisplayDevice::get_ao_ambient, DisplayDevice::get_ao_direct, DisplayDevice::get_cue_density, DisplayDevice::get_cue_end, DisplayDevice::get_cue_start, DisplayDevice::get_dof_fnumber, DisplayDevice::get_dof_focal_dist, DisplayDevice::NUM_CUE_MODES, VMDApp::qsurf, OptiXRenderer::RT_FOG_EXP, OptiXRenderer::RT_FOG_EXP2, OptiXRenderer::RT_FOG_LINEAR, OptiXRenderer::RT_FOG_NONE, OptiXRenderer::set_aa_samples, OptiXRenderer::set_ao_ambient, OptiXRenderer::set_ao_direct, OptiXRenderer::set_ao_samples, OptiXRenderer::set_camera_dof_fnumber, OptiXRenderer::set_camera_dof_focal_dist, OptiXRenderer::set_cue_mode, OptiXRenderer::setup_context, DisplayDevice::shadows_enabled, OptiXRenderer::shadows_on, DisplayDevice::vmdapp, wkf_timer_start, DisplayDevice::xSize, and DisplayDevice::ySize.

void OptiXDisplayDevice::write_trailer ( void ) [virtual]

write any trailer info. This is called by update.

Reimplemented from FileRenderer.

Definition at line 727 of file OptiXDisplayDevice.C.

References OptiXRenderer::destroy_scene, VMDApp::display, DisplayDevice::eyeDist, DisplayDevice::eyePos, DisplayDevice::eyeSep, FileRenderer::my_filename, NULL, DisplayDevice::ORTHOGRAPHIC, DisplayDevice::PERSPECTIVE, DisplayDevice::projection, OptiXRenderer::render_to_file, OptiXRenderer::render_to_videostream, OptiXRenderer::RT_ORTHOGRAPHIC, OptiXRenderer::RT_PERSPECTIVE, send_cylinder_buffer, send_sphere_buffer, send_triangle_buffer, OptiXRenderer::set_camera_projection, OptiXRenderer::set_camera_stereo_convergence_dist, OptiXRenderer::set_camera_stereo_eyesep, OptiXRenderer::set_camera_zoom, VideoStream::srv_connected, strupcmp, DisplayDevice::supports_gui, VMDApp::uivs, DisplayDevice::vmdapp, DisplayDevice::vSize, wkf_timer_stop, wkf_timer_time, wkf_timer_timenow, and DisplayDevice::zDist.


The documentation for this class was generated from the following files:
Generated on Mon Nov 17 02:48:51 2025 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002

AltStyle によって変換されたページ (->オリジナル) /