I've found a simpler example that fails and am providing it below with more details on what I expect to see. I'm leaving my original question below for reference.
(* here are two 3D points *)
pt1 = {-303335746, 213871159, 489763};
pt2 = {-128868984574, 79336116609, -2720851};
(* as viewed from the origin, their angular distance is small *)
N[VectorAngle[pt1, pt2]/Degree]
(* yields 3.56925 degrees *)
(* now, two spheres of different sizes centered at these points *)
r1 = 1738100
r2 = 696300000
sph1 = Sphere[pt1, r1]
sph2 = Sphere[pt2, r2]
(* let's compute the angular diameter of these spheres as viewed from origin *)
N[2*ArcTan[r1/Norm[pt1]]/Degree]
N[2*ArcTan[r2/Norm[pt2]]/Degree]
(* the answers are 0.536627 degrees for sph1 and 0.527248 degrees for sph2 *)
(* now, let's look directly at pt1 with a 10 degree view angle; since
both spheres have the same angular diameter and are only 3 degrees
apart, we should see both *)
g0 = Graphics3D[{sph1,sph2}]
Show[g0, ViewVector -> { {0,0,0}, pt1}, ViewAngle -> 10*Degree]
(* but I only see sph2 [image below], why? *)
EVERYTHING BELOW THIS LINE IS MY ORIGINAL QUESTION
(* Version is '11.1.0 for Linux x86 (64-bit) (March 13, 2017)' *)
(* here are two spheres *)
sph1 = Sphere[{128940484175, -78312608306, -17241976}, 1738100]
sph2 = Sphere[{374835347, 809637144, -20452590}, 696300000]
(* and a fixed view vector and view angle *)
vv = {{129243819921, -78526479465, -17731739},
{-128565648828, 79122245450, -3210615}}
va = 10*Degree
(* see below for results *)
(* this shows sph1, as expected *)
g1 = Graphics3D[sph1, ViewVector -> vv, ViewAngle -> va]
(* this shows sph2, as expected *)
g2 = Graphics3D[sph2, ViewVector -> vv, ViewAngle -> va]
(* this shows only sph2, why? *)
g3 = Graphics3D[{sph1, sph2}, ViewVector -> vv, ViewAngle -> va]
(* even reversed, this shows only sph2, why? *)
g4 = Graphics3D[{sph2, sph1}, ViewVector -> vv, ViewAngle -> va]
g1:
g2:
g3:
g4:
I've tried many variants of the commands above, but get the same results.
My one thought: maybe I'm using such large and small quantities that the coordinates for sph1 are somehow obscuring the coordinates for sph2.
EDIT: I tried ViewRange -> All
, but it didn't change anything (which I expected, since that's the default ViewRange anyway).